Red by Big Red Cloud
Server Details
Secure MCP access to Big Red Cloud accounting data, workflows, help and training.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- BigRedCloud/red-mcp-server
- GitHub Stars
- 0
- Server Listing
- Red MCP Server
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.8/5 across 157 of 157 tools scored. Lowest: 1.7/5.
Tools are mostly distinct with clear purposes, but there are some overlaps such as multiple tools for checking company settings and separate tools for creating with generated vs. manual references. Descriptions help differentiate, but an agent could still confuse similar ones.
All tools follow a consistent brc_verb_noun snake_case pattern (e.g., brc_create_customer, brc_list_sales_invoices). Minor abbreviations like 'nom_ac' for nominal account are rare and still fit the pattern perfectly.
With 157 tools, the server is extremely large. While the ERP domain justifies many operations, this high count makes navigation and selection difficult for the agent, likely causing slower performance and higher error rates.
The tool surface covers core accounting workflows comprehensively: CRUD for customers, suppliers, products, invoices, purchases, quotes, etc., plus batch operations, allocations, email sending, and help resources. Minor gaps like missing report generation tools are acceptable given the scope.
Available Tools
157 toolsbrc_batch_cash_paymentsAInspect
Processes a batch of BRC cash payments. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully explains the two-step write process, preview behavior, and confirmation requirements. It discloses that preflight is not confirmation and that nothing is written until confirmed. Could mention error handling or side effects, but overall good transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured, starting with purpose then detailed workflow. Every sentence adds value, though could be slightly more concise. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all parameters, workflow, and confirmation steps. Lacks output format or error handling, but without output schema this is acceptable. Complete for a batch creation tool with complex confirmation logic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds significant meaning: for confirmWrite and confirmCounterpartyExplicit, it gives precise conditions for setting true; for connectionRef, explains reuse policy; for priceBasis, explains gross vs net. Adds value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 BRC cash payments and specifies a max of 20 items. It does not explicitly differentiate from sibling batch tools like brc_batch_payments, but the focus on cash payments and the detailed workflow make the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit step-by-step instructions: first call without confirmWrite, show preview, get explicit user confirmation, then retry with confirmWrite: true. Also specifies confirmCounterpartyExplicit requirements. Offers clear do's and don'ts, e.g., 'Do not reuse a counterparty from an earlier preview without that confirmation.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_batch_cash_receiptsAInspect
Processes a batch of BRC cash receipts. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the batch processing, max limit, and the critical confirmation workflow (preview then confirm). It explicitly states 'Nothing is written to Big Red Cloud until you confirm'. It also explains the counterparty confirmation requirement. However, it doesn't detail error handling or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but contains all necessary instructions. It is front-loaded with the core purpose. While it could be structured with bullet points, every sentence earns its place and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch tool with complex confirmation workflow and no output schema, the description covers key aspects: batch limit, preview requirement, confirmation flags, and counterparty confirmation. It lacks details on error responses or the preview format, but overall sufficiently complete for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 the two-step confirmation workflow and conditions for setting confirmWrite and confirmCounterpartyExplicit. It also clarifies priceBasis in context. This adds meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Processes a batch of BRC cash receipts', which is a specific verb+resource. It distinguishes from siblings like brc_batch_cash_payments and brc_create_cash_receipt (single operation). The batch nature is explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use and how-to-use guidelines: maximum 20 items, two-step confirmation process, preview before posting, requiring explicit user confirmation. It also states what not to do (e.g., never set confirmWrite true on first call).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_batch_customersAInspect
Processes a batch of customers. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description fully covers behavioral traits: preflight flow, write only after confirmation, max 20 items, and that passing preflight is not confirmation. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with main action, then key constraints and flow. Every sentence adds value, though could tighten some phrases. No unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on return values after successful confirmation, error handling, and what happens if preflight is not confirmed. No output schema to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description adds some value by explaining the confirmWrite flow and priceBasis context, but much of this is already in schema descriptions. Does not significantly extend beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it processes a batch of customers, with specific verb and resource. Differentiates from siblings like brc_create_customer and other batch tools via the preflight confirmation flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly details the two-step process: first call without confirmWrite returns a preview requiring user confirmation, then retry with confirmWrite true only after explicit confirmation. Warns that preflight is not confirmation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_batch_paymentsAInspect
Processes a batch of BRC payments. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Fully describes the tool's behavior: preflight returns confirmation_required and preview, nothing is written until confirmWrite is true, and the counterparty must be explicitly confirmed. No annotations are provided, so the description carries the full burden and meets it well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed but front-loads critical info (max items, workflow). It could be slightly more concise, but every sentence adds necessary context for correct tool usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the main workflow, batch limits, and confirmation steps. Does not detail error handling or output format, but given no output schema, the description provides sufficient context for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds significant meaning beyond the schema descriptions, tying confirmWrite and confirmCounterpartyExplicit to the workflow, explaining the connectionRef reuse, and the conditional nature of confirmCrAnalysisCategory. With 100% schema coverage, it still adds value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as processing BRC payments in batches, specifying maximum items and the unique confirmation workflow. It distinguishes itself from sibling batch tools like brc_batch_cash_payments by focusing on payments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the two-step process (first call without confirmWrite returns preview, then confirm only after user confirmation), sets max items, and requires confirmCounterpartyExplicit after explicit user naming. Provides clear when-to-use and 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_batch_productsAInspect
Processes a batch of products. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the preflight/confirm pattern and that nothing is written until confirmWrite=true. However, it doesn't explicitly state what type of write occurs (create/update) or potential side effects. The phrase 'Red shows what it will post' is slightly unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat run-on and could be tightened (e.g., 'Red shows...' and 'Passing preflight is not confirmation' are redundant). However, it contains all necessary information in a few sentences; no unnecessary fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters fully described in the schema, the description covers the critical behavioral pattern and batch limit. No output schema exists, but it describes return values for the first call. For the second call, return is not specified, but the tool is adequately complete for its role among sibling batch tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for confirmWrite (explaining the two-phase process) and max items (though already in schema). Other parameters like priceBasis, companyName, connectionRef, and confirmCrAnalysisCategory are only described in the schema, not in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Processes a batch of products' and sets a maximum limit of 20 items, clearly indicating the tool's purpose. It distinguishes from individual product tools like brc_create_product by being batch-oriented, though 'processes' is somewhat vague (could mean create/update/delete).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Excellent guidance on the two-phase commit pattern: first call without confirmWrite to get a preview, then retry with confirmWrite=true only after explicit user confirmation. Warns that preflight is not confirmation, and notes the maximum batch size. No other sibling tool description provides such clear usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_batch_purchasesAInspect
Processes a batch of purchases. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses the batch confirmation workflow, data preview requirement, counterparty confirmation, and that nothing is written until confirmed. No hidden behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph with mixed instructions. It front-loads the main action but could be more structured (e.g., bullet points). Some repetition (max items appears twice).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the essential workflow and parameter usage well. Does not describe return values or error handling, but the two-step confirmation implies a preview response. For a complex batch tool, it provides a solid foundation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds significant context for confirmWrite (never on first call) and confirmCounterpartyExplicit (only after explicit user confirmation), going beyond the schema. Other parameters like priceBasis are well-covered in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it processes a batch of purchases, which distinguishes it from single-purchase tools like brc_create_purchase. However, it doesn't explicitly differentiate among sibling batch tools like brc_batch_sales_invoices, but the 'purchases' resource is specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Excellent guidelines: explains the two-step confirmation workflow, when to set confirmWrite and confirmCounterpartyExplicit, and warns against premature confirmation. Provides explicit when-to-use and when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_batch_quotesAInspect
Processes a batch of quotes. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the two-step confirmation process, preview requirement, and that nothing is written until confirmWrite is true. Also explains reusing connectionRef and not assuming counterparty without explicit confirmation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but each sentence adds value. It is front-loaded with purpose and then provides detailed usage rules. Slightly verbose but well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, no output schema, and the complexity of the batch quote process, the description covers all necessary behavioral context, including preview, confirmation steps, and counterparty handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters have schema descriptions (100% coverage), but the description adds behavioral nuance for confirmWrite and confirmCounterpartyExplicit, and clarifies connectionRef usage beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Processes a batch of quotes' and specifies the maximum of 20 items, distinguishing it from other batch tools like brc_batch_sales_invoices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instructions on when to set confirmWrite (only after preview and user confirmation), not to set on first call, and the need for confirmCounterpartyExplicit after user explicitly names counterparty. Also warns about reusing connectionRef.
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_notesAInspect
Processes a batch of sales credit notes. Do not invent productId values and do not use productId 0 or 1 as placeholders. productId 0 and 1 are treated as placeholders and are blocked at runtime before preview-before-posting and before posting. If a product line is needed, first call brc_list_products and use a real product from the connected company. If no suitable product exists, ask the user whether to create/select a product, or use a service/non-product line only if the endpoint supports it. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It clearly states that productId 0/1 are blocked, the preview-before-posting flow, and confirmation requirements. However, it does not describe error handling or the exact return format after posting, which could be useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but every sentence serves a purpose: it starts with the main action, lists critical rules, then explains the confirmation process. No wasted words, well-structured for easy digestion.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of batch processing with multi-step confirmation, the description covers product rules, batch limit, preview-flow, and counterparty confirmation. It lacks details on post-posting response and error handling, but overall it is sufficiently complete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds significant value beyond the schema for key parameters like items (max 20), priceBasis (when to use net/gross), confirmWrite (detailed steps), and confirmCounterpartyExplicit (conditions). This goes beyond mere schema repetition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it processes a batch of sales credit notes, which differentiates it from siblings like brc_batch_sales_invoices. However, it does not explicitly contrast with all similar batch tools, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use and when-not-to-use guidelines: do not invent or use placeholder productIds, call brc_list_products first, ask user if no suitable product, max 20 items, two-step confirmWrite process with preview, and confirmCounterpartyExplicit only after explicit user confirmation. This is comprehensive and leaves no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_batch_sales_entriesAInspect
Processes a batch of sales entries. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Fully discloses the two-phase write flow, the need for a plain-English preview, and the distinction between preflight and confirmation. No annotations provided, so the description carries the full burden and handles it comprehensively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is informative but somewhat lengthy. It front-loads the purpose and constraints but could be more concise. However, every sentence adds necessary detail for correct invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the essential protocol for a safe write operation, including the preview and confirmation steps. Lacks detail on the return value or error cases, but given the complexity and no output schema, it is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 valuable context for confirmWrite and confirmCounterpartyExplicit beyond the schema, explaining their correct usage in the confirmation flow. Other parameters are well-described in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Processes a batch of sales entries' and distinguishes from sibling batch tools like brc_batch_sales_invoices. It also details the confirmation flow, making the tool's unique purpose evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit step-by-step instructions: maximum 20 items, first call without confirmWrite, then retry with confirmWrite after user confirmation, and requires confirmCounterpartyExplicit after explicit counterparty confirmation. Gives clear when-to-use and when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_batch_sales_invoicesAInspect
Processes a batch of sales invoices. Batch sales invoices apply the same safety checks as single sales invoices: productId 0/1 placeholder blocking before preview-before-posting and posting; Sales VAT category validation before preview-before-posting and posting; Gross Price Entry priceBasis handling; CR analysis category confirmation; and counterparty confirmation covering all listed customers. If the batch includes multiple customers, confirming means confirming all listed customers, not just one. Set confirmCrAnalysisCategory=true at batch level only after the user confirms CR sales analysis account codes are intentional. Per item, the BRC "Note" field (JSON note) defaults to the customer name when omitted (never the product name), and the BRC "Delivery To" address (JSON deliveryTo) is only included when explicitly provided. Do not invent productId values and do not use productId 0 or 1 as placeholders. productId 0 and 1 are treated as placeholders and are blocked at runtime before preview-before-posting and before posting. If a product line is needed, first call brc_list_products and use a real product from the connected company. If no suitable product exists, ask the user whether to create/select a product, or use a service/non-product line only if the endpoint supports it. Sales invoices must use Sales VAT rates. Purchase/non-Sales VAT rates are blocked before preview-before-posting and before posting, even if the VAT percentage matches. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully covers behavioral traits: placeholder blocking, VAT validation, price basis handling, CR analysis confirmation, counterparty confirmation, note/deliveryTo defaults, productId constraints, and the confirmWrite workflow. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long and has some repetition (e.g., productId 0/1 blocking mentioned twice), but it is logically structured starting with purpose then detailing checks. It could be more concise for quicker parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameters, no output schema), the description thoroughly covers the workflow, safety checks, and parameter behaviors. It explains the two-step confirmation and hints at the return payload, making it complete for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant behavioral context beyond parameter descriptions, such as explaining when confirmWrite must be true, the requirement for confirmCounterpartyExplicit, and the default for note. This adds value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 sales invoices and distinguishes it from single invoice tools by specifying the batch behavior and safety checks. Sibling tools include brc_create_sales_invoice for single invoices, so the batch scope is explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides guidelines on when to use this tool, such as calling brc_list_products for productId, and outlines the two-step confirmWrite pattern. However, it does not explicitly contrast with other batch tools like brc_batch_sales_credit_notes, though the invoice focus 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_sales_repsAInspect
Processes a batch of sales reps. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It clearly discloses the non-write behavior on first call (returns confirmation_required and preview) and that only after explicit confirmation does writing occur. Adds nuance that 'passing preflight is not confirmation'. This is good transparency for the critical 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with 4 sentences, each adding value: purpose, batch limit, confirmation workflow, and a caution about preview. Front-loaded and no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and description does not mention return values after confirmation, error handling, or side effects. For a batch processing tool, this leaves gaps in understanding the complete behavior. The confirmation flow is well explained, but completeness is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 6 parameters with descriptions (100% coverage). The description adds context about the confirmWrite workflow and priceBasis condition, but mostly reinforces schema info. Baseline 3 is appropriate as schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Processes a batch of sales reps', using a specific verb and resource. It does not explicitly differentiate from sibling batch tools like brc_batch_customers, but the name and context make the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instructions on batch size limit (max 20) and the two-phase confirmation workflow: first call without confirmWrite returns preview, second call with confirmWrite after user confirmation. Does not explain when not to use or alternatives, but the batch 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_suppliersAInspect
Processes a batch of suppliers. Maximum 20 items per batch request. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Batch items to process. Maximum 20 items per request. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the destructive nature and two-phase commit. Describes confirmWrite semantics and payload preview. With no annotations, it carries the full burden and does so reasonably well. Could be more explicit about post-confirmation behavior or error states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: 5 sentences with no redundancy. Front-loads purpose, then constraints and workflow. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the confirmation workflow and max items well. But lacks description of success response format (e.g., what is returned after confirmed write) and error handling. With no output schema, more detail on post-confirmation behavior would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already well-documented. The description adds critical workflow context for confirmWrite and reinforces max items. confirmCrAnalysisCategory is not mentioned in the description but is covered by schema. Adds moderate value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states 'Processes a batch of suppliers', includes batch limit and two-phase confirmation workflow. Cleary distinct from other batch tools like brc_batch_customers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit step-by-step usage for the confirmation workflow: first call without confirmWrite, show preview, then retry with confirmWrite only after user confirmation. Warns that preflight is not confirmation. Does not specify when to use alternatives (e.g., single supplier creation via brc_create_supplier).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_check_transaction_settingsAInspect
Checks BRC company processing settings before a VAT-sensitive or payment-terms-sensitive transaction workflow. Returns warnings that should be shown before creating or changing records. Use this for one workflow (sales invoice, purchase, cash receipt, or statement). For overall company readiness (connection, financial year, Sales VAT, Sales Analysis, reference data), use brc_company_readiness_check instead.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | Yes | The workflow to check against the company processing settings. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Mentions returning warnings, and the 'check' nature implies no side effects. However, without annotations, it could explicitly state read-only behavior or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus an alternative reference, every word contributes. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of a check tool with no output schema, the description adequately covers return value (warnings), usage context, and differentiation from sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers 100% of parameters, and the description adds context (e.g., enumerates allowed workflows with explanatory note). The connectionRef parameter has a lengthy explanation beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks BRC company processing settings before VAT-sensitive or payment-terms-sensitive workflows, and explicitly distinguishes from the sibling brc_company_readiness_check by specifying a different scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use before creating/changing records for a single workflow, and name the alternative tool for overall readiness checks.
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_keysCInspect
Clears all connection credentials for all company contexts from MCP server memory.
| Name | Required | Description | Default |
|---|---|---|---|
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavioral traits. It mentions clearing credentials from memory but does not specify side effects, such as what happens to active sessions or whether the action is reversible. The description is too brief to be transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it sacrifices completeness. It could be expanded to include important details without being overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive operation that clears all API keys, the description is insufficient. It does not explain the return value (e.g., success message or error), nor does it cover potential impacts or confirmations. The single parameter is well-described, but the overall context of use is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the parameter connectionRef described in detail within the schema. The tool description adds no extra meaning beyond what the schema provides, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it clears all connection credentials for all company contexts from MCP server memory, which defines the verb and resource. However, it does not distinguish from the sibling tool brc_clear_company_api_key (singular), so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives like brc_clear_company_api_key or brc_clear_audit_log. There is no mention of prerequisites or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_clear_audit_logAInspect
Clear the Red audit log for this MCP server session. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| confirmClear | No | Must be true to confirm that the session audit log should be cleared. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains the two-step confirmation flow, preview behavior, and that Red waits for confirmation. However, it does not explicitly state that the audit log entries are permanently deleted or destroyed, which is a critical behavioral trait for a clear operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is slightly verbose but well-structured with actionable instructions. It front-loads the core purpose and then provides detailed workflow steps. Could be more concise, but every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema covers all parameters completely and the description adds workflow guidance, the tool is well-documented. No output schema exists, but the description implies the response includes a preview on first call and a success indicator on confirmation, which is sufficient for an agent to understand the interaction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 3 parameters. The description adds context beyond schema for confirmWrite, explaining its role in the confirmation workflow and that 'Passing preflight is not confirmation.' This adds meaningful guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool clears the Red audit log for this MCP server session. It distinguishes itself from sibling tools like brc_list_audit_log by specifying the action (clear) and the scope (session).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit step-by-step workflow: first call without confirmWrite:true returns preview, then show plain-English preview in chat, then retry with confirmWrite:true only after user confirmation. Also warns not to set confirmWrite:true on first call or without explicit confirmation.
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_keyBInspect
Clears the API key for a named company context from MCP server memory.
| Name | Required | Description | Default |
|---|---|---|---|
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states 'clears' without detailing side effects (e.g., whether it invalidates the connection, requires re-authorization, or is idempotent). Since no annotations are provided, the description should disclose more behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 11 words, which is concise and to the point. However, it could include more useful context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
As a destructive mutation tool with no output schema and no annotations, the description is incomplete. It does not clarify what happens after clearing (e.g., need to reconnect), success indicators, or error scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters have schema descriptions (100% coverage). The tool description adds no new meaning beyond them; it merely restates 'named company context'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb 'clears' and the resource 'API key for a named company context', distinguishing it from sibling tools like brc_clear_all_company_api_keys which clears all keys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like brc_clear_all_company_api_keys, or prerequisites such as having an active connection. The connectionRef parameter description provides some context but does not address tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_close_quoteAInspect
Closes a BRC quote. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Quote id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the two-step behavior, that no writing occurs until confirmation, and that preflight is not confirmation. It explains the mutation nature and the need for explicit user consent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, well-structured with purpose first. The last sentence about 'Red shows what it will post' is slightly vague and not fully necessary, but overall concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the workflow is well explained, the description lacks details on the final return value upon successful closure. Also does not mention prerequisites (e.g., quote must be open) or error cases. Given the complexity, there are gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 each parameter. The description does not add new meaning beyond restating the confirmWrite usage. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool closes a BRC quote, and distinguishes it from siblings like delete or reopen by detailing a two-step confirmation process. It uses a specific verb and resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call first without confirmWrite: true to get a preview, then retry with confirmWrite: true only after explicit user confirmation. Also warns never to set confirmWrite on first call or based on initial request. This provides clear when and when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_company_readiness_checkAInspect
Read-only company health and readiness check for a connected Big Red Cloud company. Reports connection status, financial year, sample reference data (customers, products, suppliers, sales reps), Sales VAT rates, Sales Analysis categories, processing settings, and reference settings. Use this for overall company readiness before starting work. For warnings about a specific VAT-sensitive workflow (sales invoice, purchase, cash receipt, statement), use brc_check_transaction_settings instead — that tool checks one workflow's processing settings, while this tool scores overall company readiness.
| Name | Required | Description | Default |
|---|---|---|---|
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states 'Read-only' indicating no side effects, and lists the data reported. However, it does not mention rate limits or specific error conditions, which are minor omissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus a helpful contrast with sibling. No unnecessary words, front-loaded with purpose, and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description lists the types of data returned (connection status, financial year, reference data, etc.). It also contrasts with a sibling tool, making the context complete for a readiness check tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters already described in the input schema. The description does not add additional semantic meaning beyond what the schema provides, meeting baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Read-only company health and readiness check' and lists specific reported items (connection status, financial year, etc.). It also distinguishes from the sibling brc_check_transaction_settings by contrasting scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this for overall company readiness before starting work' and contrasts with brc_check_transaction_settings for specific VAT-sensitive workflows, providing clear when-to-use and 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_confirm_company_connectionAInspect
Claims a completed secure Red connection code for the current MCP session. Use after the user has submitted the secure connection page and returns to this chat with the confirmation code shown on the success page (for example when the MCP session changed after opening the browser). Returns an opaque connectionRef for later tool calls when the MCP client rotates session ids (for example Vibe/Mistral). Pass it silently in tool arguments — do not show connectionRef or redconn_ values to normal users. After confirm succeeds, keep passing the same connectionRef on every later tool call — do not call brc_start_company_connection while that connectionRef still works. Never exposes connection credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The connection code from the secure Red connection page success message. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description thoroughly discloses behavioral traits: it returns an opaque connectionRef, should be passed silently not shown to users, never exposes credentials, and must be reused across session rotations. It lacks mention of side effects or idempotency but covers critical safety aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and then provides necessary usage details. While somewhat lengthy, every sentence contributes valuable information. It could be slightly more concise, but structure is logical.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains the return value (connectionRef) and its usage. It covers session rotation, client examples (Vibe/Mistral), and security. It is complete for a connection-confirmation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds value by explaining that 'code' comes from the success page and that 'connectionRef' is returned by this tool and must be reused. It also provides guidance on handling ('pass silently', 'do not show'), going beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Claims a completed secure Red connection code for the current MCP session.' with a specific verb and resource, and distinguishes itself from the sibling tool brc_start_company_connection by instructing not to call it while the connectionRef still works.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (after user submits secure connection page and returns with confirmation code, when session ids rotate) and when not to use (do not call brc_start_company_connection while connectionRef works). Provides clear alternatives and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_accrualAInspect
Creates a new parent Accrual. The API accepts only the parent transaction shape and relies on shared logic to generate the reversing child transaction. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed creation.
| Name | Required | Description | Default |
|---|---|---|---|
| total | Yes | Accrual total amount. | |
| acCode | Yes | Nominal account code, for example 4000. | |
| procDate | Yes | Processing date, for example 2024-03-15T00:00:00. | |
| entryDate | Yes | Entry date, for example 2024-03-01T00:00:00. | |
| reference | Yes | Accrual reference, for example ACC0001. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| firstDetail | No | First detail text. | |
| confirmWrite | No | Must be true only after the user explicitly confirms creating this accrual. | |
| secondDetail | No | Second detail text. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It reveals two key behaviors: the tool only accepts the parent transaction shape and generates the reversing child automatically. It also warns about the confirmWrite flag. However, it omits return value, side effects, and permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. The first sentence states the core purpose, the second explains a critical usage nuance. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters and no output schema, the description explains the parent/child creation flow and confirmWrite constraint. It does not mention the return value or prerequisites like having a connectionRef, but the schema covers connectionRef. Overall, it provides sufficient context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds only marginal value. It repeats the confirmWrite caveat already in the schema and elaborates on connectionRef, but does not provide any new parameter-level context beyond what the schema already contains.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Creates a new parent Accrual', clearly identifying the verb and resource. It distinguishes from sibling tools like update/delete by using 'parent' and explaining the reversing child transaction, which is unique to creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear when-not-to-use instruction: 'Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed creation.' It implies a preview step, but does not explicitly mention when to use this tool vs. alternatives (though none exist for creating accruals).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_bank_accountAInspect
Creates a BRC bank account. Do not call this tool with confirmCreate=true until the user has reviewed a plain-English summary and explicitly confirmed creation. Required fields: acCode, details, lastChq, and nominalAcCode. categoryId is optional; BRC may create the Bank Payments category automatically when categoryId is omitted. nominalAcCode must reference an existing balance-sheet bank nominal account created in BRC setup.
| Name | Required | Description | Default |
|---|---|---|---|
| acCode | No | Bank account code, for example 1603. | |
| address | No | ||
| balance | No | Opening/current starting balance. | |
| details | No | Bank account description/name. | |
| lastChq | No | Last cheque number, for example 000001. | |
| payload | No | Optional raw bank account payload. | |
| sortCode | No | ||
| categoryId | No | Bank Payments category type id from brc_list_category_types. | |
| accountName | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| accountNumber | No | ||
| confirmCreate | No | Must be true only after the user explicitly confirms creation. | |
| connectionRef | No | 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. | |
| isDefaultBank | No | ||
| nominalAcCode | No | Existing linked nominal account code. This must already exist in Big Red Cloud and will be sent to the API as account.acCode. | |
| creditorScheme | No | ||
| bankFeedsSource | No | ||
| businessIdentifierCode | No | ||
| internationalBankAccountNumber | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It covers the confirmation step and auto-creation of category, but lacks details on side effects, return values, error handling, or authentication requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the primary purpose and warnings, then details. At multiple sentences, it is concise but could be more structured with bullet points. No unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 19 parameters, no output schema, and no annotations, the description is insufficient. It omits behavior for many parameters (e.g., address, balance), return values, and error scenarios, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning by listing required fields (acCode, details, lastChq, nominalAcCode) not in the schema's required list, but it contradicts the schema which only marks companyName as required. It also explains optional behavior for categoryId. However, the contradiction misleads.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool creates a BRC bank account, and it adds specific details like the confirmation workflow and required fields, which distinguishes it from other create tools among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit guidance on when not to call with confirmCreate=true, lists required fields, notes optional parameters, and mentions a prerequisite for nominalAcCode. However, it does not compare to alternative tools like brc_update_bank_account.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_cash_paymentAInspect
Creates a BRC cash payment. Use supplierId + ledger for supplier payments, bankAccountId + lodgement for bank lodgements, or analysisCategoryId + accountCode for analysed expenses. Analysis categories must be from the Cash Payments book (CP01-CP03) and accountCode must match the category. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | ||
| total | Yes | ||
| acCode | No | Supplier account code for ledger payments. | |
| ledger | No | Ledger amount; must equal total for supplier payments. | |
| discount | No | ||
| procDate | No | Processing date in ISO format. Defaults to entryDate. | |
| entryDate | No | Entry date in ISO format. Defaults to today. | |
| lodgement | No | Lodgement amount; must equal total when lodging to bank. | |
| supplierId | No | Supplier id for ledger payments. | |
| accountCode | No | Analysis account code matching analysisCategoryId, for example CP01. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| description | No | Analysis line description. | |
| confirmWrite | No | Must 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. | |
| bankAccountId | No | Bank account id for lodgements. | |
| connectionRef | No | 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. | |
| bookTranTypeId | No | Cash Payment book transaction type id. | |
| bankAccountCode | No | Bank account code for lodgements. | |
| analysisCategoryId | No | Cash Payments analysis category id (categoryTypeId 1391170). | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description fully discloses behavior: it explains the confirmation mechanism, that a first call returns a payload preview, and that writing occurs only after explicit confirmation. It also mentions preflight and counterparty 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well front-loaded with the purpose and then structured into use cases and workflow. It is relatively long but appropriate given the complexity; every sentence adds value. Slightly verbose but effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool complexity (19 parameters, no output schema), the description covers all essential aspects: three usage modes, confirmation workflow, constraints on analysis categories, and counterparty confirmation. It provides sufficient context for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 84% schema description coverage, the schema already documents most parameters. The description adds significant value by grouping parameters into use cases and providing crucial semantics for confirmWrite and confirmCounterpartyExplicit, which are not fully explained in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a BRC cash payment and distinguishes three specific use cases: supplier payments, bank lodgements, and analysed expenses. It differentiates from sibling tools like brc_batch_cash_payments by being a single creation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides when to use each variant (supplierId + ledger for supplier payments, etc.) and detailed workflow guidance for the confirmation process, including when to set confirmWrite and confirmCounterpartyExplicit. Clearly states not to reuse counterparties without explicit confirmation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_cash_receiptAInspect
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. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| total | No | ||
| acCode | No | ||
| ledger | No | ||
| details | No | ||
| payload | No | ||
| discount | No | ||
| procDate | No | ||
| totalNet | No | ||
| totalVAT | No | ||
| totalVat | No | ||
| acEntries | No | ||
| entryDate | No | ||
| reference | No | ||
| vatRateId | No | ||
| vatTypeId | No | ||
| customerId | No | ||
| percentage | No | ||
| vatEntries | No | ||
| accountCode | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| description | No | ||
| unallocated | No | ||
| confirmWrite | No | Must 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. | |
| customFields | No | ||
| connectionRef | No | 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. | |
| vatPercentage | No | ||
| bookTranTypeId | No | ||
| detailCollection | No | ||
| analysisCategoryId | No | ||
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: two-step confirmation, default dates, conditional VAT fields, and that nothing is written until confirmWrite is true. Missing some specifics like error handling for direct confirmWrite calls, but overall strong behavioral coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and includes some redundant phrasing ('Red shows what it will post and waits for confirmation'), but it is front-loaded with the main purpose and structured with logical flow. Could be more concise without losing critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 31 parameters, nested objects, and no output schema or annotations, the description is incomplete. It lacks parameter descriptions for most fields, does not explain nested object structures (acEntries, vatEntries), and omits return value details beyond preview/confirmation. Missing overall completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema coverage is low (13%), the description adds meaning for a few parameters: entryDate/procDate default to today, VAT fields conditional, and full explanation of confirmWrite and confirmCounterpartyExplicit. However, most parameters (total, acCode, ledger, etc.) remain undocumented, so compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence clearly states 'Creates a BRC cash receipt,' specifying the verb and resource. It also mentions acceptance of raw payload or flat fields, and the tool's name distinguishes it from siblings like brc_create_cash_payment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit step-by-step workflow: first call without confirmWrite, preview, user confirmation, then retry with confirmWrite. Also details confirmCounterpartyExplicit requirement and warns against reusing counterparties without confirmation. This fully guides when and how to invoke the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_customerAInspect
Creates a BRC customer using a raw BRC payload. Does not create or update opening balance transactions. If the user provides an opening balance, warn them that it must be entered directly in Big Red Cloud. Before creating, check whether the customer email appears to match the customer name; if it may be a mismatch, warn the user and ask for confirmation. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | Raw BRC-compatible payload for this endpoint. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. Discloses that it does not create opening balance transactions, the two-step confirmation flow, that nothing is written until confirmWrite is true, and that preview is returned on first call. Also mentions email mismatch warning behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured starting with purpose then constraints then workflow. Slightly verbose but every sentence adds value. Could be slightly more concise but still effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and nested payload, description covers behavior, constraints, workflow, and error conditions (email mismatch). Addresses all necessary context for correct invocation despite missing annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage, but description adds crucial context: confirmWrite's specific workflow (never true on first call, only after preview and explicit confirmation), connectionRef's reuse after successful calls, and payload being raw BRC-compatible payload. Adds significant value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description starts with 'Creates a BRC customer using a raw BRC payload' – clear verb+resource. Distinguishes from siblings like brc_batch_customers and brc_update_customer. Also clarifies it does not handle opening balances, adding specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit step-by-step workflow: first call without confirmWrite, show preview, obtain explicit confirmation, then retry with confirmWrite: true. Also advises warning on opening balance and email mismatches. Clearly states when to use and the required confirmation protocol.
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_batchAInspect
Creates a new Nominal Journal Batch. The journal should contain balanced debit and credit lines. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed creation.
| Name | Required | Description | Default |
|---|---|---|---|
| total | Yes | Total journal amount. | |
| procDate | Yes | Processing date, for example 2024-01-15T00:00:00. | |
| entryDate | Yes | Entry date, for example 2024-01-15T00:00:00. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must be true only after the user explicitly confirms creating this Nominal Journal Batch. | |
| connectionRef | No | 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. | |
| bookTranTypeId | No | Book transaction type id. Nominal Journal Batch is usually 7. | |
| accountTransactions | Yes | Nominal journal account transaction lines. Debits and credits should balance. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions creation and balanced debit/credit requirement, and the two-step process (preview then confirm). However, it lacks details on side effects, permanence, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose, second provides crucial usage warning. No redundant information, highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 100% schema coverage and 8 parameters well-described, the description is fairly complete. Missing only output details and error handling, but tool complexity is moderate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds limited value. The description highlights confirmWrite usage and balance requirement, but most parameter meanings are already in schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a nominal journal batch, with specific verb 'Creates' and resource 'Nominal Journal Batch'. It distinguishes from siblings like brc_create_sales_invoice and brc_batch_* tools by focusing on accounting journals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly warns not to call with confirmWrite=true until confirmed by user, providing clear when-not-to-use guidance. However, it does not mention alternatives like brc_update_nominal_journal_batch or brc_delete_nominal_journal_batch for modifications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_paymentAInspect
Creates a BRC payment from the Payments book. Use supplierId for supplier payments, or analysisCategoryId + accountCode for analysed bank payments. Analysis categories must be from the bank's Payments book (BP01-BP06) and accountCode must match the category. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | ||
| total | Yes | ||
| acCode | No | Supplier account code for supplier payments. | |
| discount | No | ||
| procDate | No | Processing date in ISO format. Defaults to entryDate. | |
| entryDate | No | Entry date in ISO format. Defaults to today. | |
| reference | No | ||
| supplierId | No | Supplier id for supplier payments. | |
| accountCode | No | Analysis account code matching analysisCategoryId, for example BP01. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| description | No | Analysis line description. | |
| confirmWrite | No | Must 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. | |
| bankAccountId | Yes | ||
| connectionRef | No | 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. | |
| bookTranTypeId | No | Cheques Entry / Payments book transaction type id. | |
| bankAccountCode | Yes | ||
| analysisCategoryId | No | Payments book analysis category id for the selected bank. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description discloses the write behavior (nothing written until confirmed), the preview step, and the need for explicit counterparty confirmation. It could mention reversibility or error handling, but it's transparent about the confirmation safeguard.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but front-loaded with the main purpose. Each sentence serves a purpose, though it could be more structured (e.g., bullet points). No wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 18 parameters and no output schema, the description covers the critical workflow and parameter dependencies. It lacks return value details and error conditions, but the confirmation mechanism mitigates risk.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema by explaining parameter groupings and the purpose of confirmWrite and confirmCounterpartyExplicit. With 67% schema coverage, it effectively compensates for undocumented parameters through workflow context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a BRC payment from the Payments book. It distinguishes two payment types (supplier vs analyzed bank) and differentiates from siblings like brc_create_cash_payment by specifying the book and parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to use supplierId vs analysisCategoryId+accountCode. Details the confirmation workflow with confirmWrite and confirmCounterpartyExplicit, including when to set them and the preview step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_prepaymentAInspect
Creates a new parent Prepayment. The API accepts only the parent transaction shape and relies on shared logic to generate the reversing child transaction. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed creation.
| Name | Required | Description | Default |
|---|---|---|---|
| total | Yes | Prepayment total amount. | |
| acCode | Yes | Nominal account code, for example 4000. | |
| procDate | Yes | Processing date, for example 2024-03-15T00:00:00. | |
| entryDate | Yes | Entry date, for example 2024-03-01T00:00:00. | |
| reference | Yes | Prepayment reference, for example PRE0001. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| firstDetail | No | First detail text. | |
| confirmWrite | No | Must be true only after the user explicitly confirms creating this prepayment. | |
| secondDetail | No | Second detail text. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description reveals that the tool creates a parent and relies on shared logic to generate a reversing child transaction. Warns about confirmWrite. Could mention permissions or rollback, but fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. Front-loaded with the main action. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the core workflow (preview then confirm) and the parent/child transaction. However, with 10 parameters and no output schema, it lacks information about return values or error conditions. Adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter has a description. The tool description doesn't add meaningful detail beyond schema; it merely references confirmWrite which is already described. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Creates a new parent Prepayment' with specific verb and resource. Distinguishes from siblings like brc_update_prepayment and brc_delete_prepayment. Adds detail about parent transaction shape and reversing child transaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed creation.' Implies a two-step preview-then-confirm workflow. No explicit alternatives but clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_productAInspect
Creates a BRC product using a raw BRC payload. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | Raw BRC-compatible payload for this endpoint. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the preflight confirmation behavior, that confirmWrite prevents writes until explicitly set, and that preview is not confirmation. No annotations provided, so description carries full transparency burden; it largely meets it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is moderately long but every sentence is meaningful and front-loaded. Minor redundancy could be trimmed, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-step creation tool with no output schema, the description covers the workflow, the preview requirement, and the confirmation step. Missing details like error handling or output format are acceptable at this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds crucial context: confirmWrite usage rules, connectionRef reuse guidance, and payload purpose. This goes beyond baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a BRC product using a raw payload, and distinguishes it from sibling create tools by detailing the two-step confirmWrite workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit step-by-step guidance: first call without confirmWrite for preview, then retry with confirmWrite only after user confirmation. No ambiguity about when to use each step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_purchaseAInspect
Creates a BRC purchase using structured MCP fields. Requires a reference when the company is configured for manual purchase references; otherwise prefer brc_create_purchase_gen_ref. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | Purchase note. | |
| acCode | Yes | Supplier account code, for example SUP001. | |
| procDate | Yes | Processing date in ISO format. | |
| entryDate | Yes | Entry date in ISO format. | |
| netAmount | Yes | Net amount before VAT. | |
| reference | No | Required when the company is configured for manual purchase references. | |
| vatRateId | Yes | VAT rate id. | |
| supplierId | Yes | Supplier id, for example 26180406. | |
| accountCode | Yes | Nominal/account code. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| description | Yes | Analysis line description. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| vatPercentage | Yes | VAT percentage. | |
| bookTranTypeId | Yes | Purchase book transaction type id. | |
| analysisCategoryId | Yes | Purchases analysis category id. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that first call without confirmWrite returns confirmation_required and payload preview, and that nothing is written until confirmWrite: true. However, it does not detail the final response format or error behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph with all critical information, no filler. Could be broken into bullet points for readability, but is efficient and front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 17 params, no output schema, and no annotations, the description explains workflow and key booleans well. However, it does not clarify the final response after successful creation (beyond mentioning preview), nor emphasize the need for connectionRef from brc_confirm_company_connection. Some gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 17 parameters with descriptions (100% coverage). Description adds meaning beyond schema by explaining the workflow for confirmWrite and confirmCounterpartyExplicit, and noting the reference requirement. This is useful behavioral context not present in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Creates a BRC purchase' using a specific verb and resource. It distinguishes from sibling brc_create_purchase_gen_ref by noting when to use each, so the agent can differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides when-to-use and when-not-to: prefer brc_create_purchase_gen_ref if company is configured for manual references. Describes the two-call workflow (preview then confirm) and conditions for confirmWrite and confirmCounterpartyExplicit.
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_refAInspect
Creates a Purchases Book purchase with a generated reference using structured fields. Use when the company is configured for auto-generated purchase references. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | ||
| acCode | Yes | ||
| procDate | Yes | ||
| entryDate | Yes | ||
| netAmount | Yes | ||
| vatRateId | Yes | ||
| supplierId | Yes | ||
| accountCode | Yes | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| description | Yes | ||
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| vatPercentage | Yes | ||
| bookTranTypeId | Yes | ||
| analysisCategoryId | Yes | ||
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: no immediate write, returns confirmation_required, requires explicit confirmation. It explains the preview-and-confirm flow. Lacks details on response format but covers essential safety aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences packed with useful information. Could benefit from bullet points or clearer separation of steps, but front-loads purpose and usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While covering the confirmation workflow well, it does not explain the expected response format (payload preview) nor provide parameter details. With 16 parameters and no output schema, more context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25%; description does not add meaning to most parameters. Only confirmWrite and confirmCounterpartyExplicit are explained in usage context, leaving the other 12 parameters (including required ones like netAmount, supplierId) without additional guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a purchase with an auto-generated reference, distinguishing it from sibling tools like brc_create_purchase (manual reference).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (auto-generated references) and provides detailed step-by-step instructions for the two-step confirmation workflow, including when to set confirmWrite and confirmCounterpartyExplicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_quoteAInspect
Creates a BRC quote using structured MCP fields. Requires a quote reference when quote references are manual or unknown. Do not use when Quotes reference setting is Unknown unless the user has provided a quote reference. Previews before posting include a Missing or not provided section for blank customer phone or email only — warnings only, do not invent values. Nothing is written to Big Red Cloud until you confirm. Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| acCode | Yes | ||
| comments | Yes | ||
| ddNumber | No | ||
| poNumber | No | ||
| procDate | Yes | ||
| quantity | Yes | ||
| tranNote | Yes | ||
| companyId | No | Optional BRC company id used in quote payload. Defaults to previous test company id if omitted. | |
| entryDate | Yes | ||
| productId | Yes | ||
| reference | No | Required when quote references are manual, or when the quote reference setting is unknown. | |
| saleRepId | Yes | Sales rep id from brc_list_sales_reps. | |
| unitPrice | Yes | ||
| vatRateId | Yes | ||
| vatTypeId | No | ||
| layoutType | No | ||
| accountCode | Yes | Sales Analysis account code for the quote product line, for example SA01. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| productCode | Yes | ||
| saleRepCode | Yes | Sales rep code from brc_list_sales_reps. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| vatPercentage | Yes | ||
| customerOwnerId | Yes | ||
| customerOwnerName | Yes | ||
| analysisCategoryId | Yes | ||
| confirmCrAnalysisCategory | No | Set true only after the user confirms a CR sales analysis account code is intentional for this product line. | |
| confirmCounterpartyExplicit | No | Must 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. | |
| confirmQuotesAutoGenerateInBrc | No | Set 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden. It discloses critical behaviors: nothing is written until confirmation, the two-step preflight process, requirements for explicit user confirmation for counterparty and CR category, and warnings against inventing values. This is comprehensive and accurate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and could be more concise. It includes repeated warnings and run-on sentences. However, it is front-loaded with the core purpose, and the information density is high given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high parameter count (29), no output schema, and no annotations, the description is remarkably complete. It covers the workflow, prerequisites, parameter semantics, and safety checks. Missing details like the exact return structure beyond 'confirmation_required' are acceptable without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite only 38% schema coverage, the description adds substantial meaning for key parameters: saleRepId/saleRepCode, analysisCategoryId/accountCode, confirmWrite, confirmCrAnalysisCategory, confirmCounterpartyExplicit, and reference. It explains their roles and constraints, compensating for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a BRC quote using structured MCP fields. It specifies the verb (creates) and resource (quote), and the detailed workflow distinguishes it from siblings like brc_create_quote_gen_ref by outlining the manual reference and confirmation process.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use and when-not-to-use guidance, such as requiring saleRepId/saleRepCode and analysisCategoryId/accountCode, warning against default/demo values, and instructing not to set confirmWrite=true on first call. However, it does not explicitly name sibling tools like brc_create_quote_gen_ref, though the context implies differentiation.
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_refAInspect
Creates a BRC quote with a generated reference using structured MCP fields. Use only when quote references are auto-generated in Big Red Cloud, or when the user has confirmed auto-generate after Quotes reference setting was Unknown. Previews before posting include a Missing or not provided section for blank customer phone or email only — warnings only, do not invent values. Nothing is written to Big Red Cloud until you confirm. Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| acCode | Yes | ||
| comments | Yes | ||
| ddNumber | No | ||
| poNumber | No | ||
| procDate | Yes | ||
| quantity | Yes | ||
| tranNote | Yes | ||
| companyId | No | Optional BRC company id used in quote payload. Defaults to previous test company id if omitted. | |
| entryDate | Yes | ||
| productId | Yes | ||
| reference | No | Required when quote references are manual, or when the quote reference setting is unknown. | |
| saleRepId | Yes | Sales rep id from brc_list_sales_reps. | |
| unitPrice | Yes | ||
| vatRateId | Yes | ||
| vatTypeId | No | ||
| layoutType | No | ||
| accountCode | Yes | Sales Analysis account code for the quote product line, for example SA01. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| productCode | Yes | ||
| saleRepCode | Yes | Sales rep code from brc_list_sales_reps. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| vatPercentage | Yes | ||
| customerOwnerId | Yes | ||
| customerOwnerName | Yes | ||
| analysisCategoryId | Yes | ||
| confirmCrAnalysisCategory | No | Set true only after the user confirms a CR sales analysis account code is intentional for this product line. | |
| confirmCounterpartyExplicit | No | Must 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. | |
| confirmQuotesAutoGenerateInBrc | No | Set 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the two-step confirmation workflow, preview behavior, safety guarantees (nothing written until confirmed), requirements for confirm flags, and the auto-generation logic. It covers critical behavioral 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose and contains some redundancy (e.g., multiple reminders about nothing being written until confirmation). While front-loaded with purpose, it lacks a clear structure and could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the creation workflow and parameter conditions but does not describe the response structure beyond mentioning 'confirmation_required' and a payload preview. Given no output schema, more detail on success/error responses would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (38%), and the description adds significant meaning for key parameters like saleRepId, saleRepCode, analysisCategoryId, accountCode, confirmWrite, confirmCounterpartyExplicit, and confirmQuotesAutoGenerateInBrc. However, not all parameters are addressed, though the most complex ones are well explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it creates a BRC quote with a generated reference. It distinguishes from sibling 'brc_create_quote' by specifying the condition for auto-generated references, providing a clear verb+resource+scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use conditions (auto-generated references or user confirmation after Unknown), and gives detailed instructions on when not to use default/demo values, how to confirm counterparty, and the two-step posting process. Effectively guides selection vs. alternatives.
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_noteAInspect
Creates a BRC sales credit note using structured MCP fields. Requires a reference when the company is configured for manual sales references; otherwise prefer brc_create_sales_credit_note_gen_ref. Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | ||
| acCode | Yes | ||
| procDate | Yes | ||
| quantity | Yes | ||
| entryDate | Yes | ||
| netAmount | Yes | ||
| productId | Yes | ||
| reference | No | ||
| saleRepId | Yes | Sales rep id from brc_list_sales_reps. | |
| unitPrice | Yes | ||
| vatRateId | Yes | ||
| customerId | Yes | ||
| accountCode | Yes | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| description | Yes | ||
| productCode | Yes | ||
| saleRepCode | Yes | Sales rep code from brc_list_sales_reps. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| vatPercentage | Yes | ||
| bookTranTypeId | Yes | ||
| analysisCategoryId | Yes | ||
| confirmCrAnalysisCategory | No | Set true only after the user confirms a CR sales analysis account code is intentional for this product line. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It discloses key behavioral traits: two-step confirmation with preview, requirement for user confirmation flags, and that nothing is written until confirmWrite=true. However, it lacks details on error handling or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and thorough but could be more concise. It front-loads the purpose and then lists requirements and process steps in a logical order, though some redundancy (e.g., repeating 'first call without confirmWrite' details) could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (24 parameters, no output schema), the description is incomplete. It omits standard output structure, error responses, and many parameter semantics. While it covers the confirmation workflow, it leaves significant gaps for a production-grade tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (29%), so the description must compensate. It adds meaning for critical parameters (confirmWrite, confirmCounterpartyExplicit, saleRepId, etc.) and explains the confirmation flow, but many required parameters (e.g., companyName, customerId, netAmount) are not addressed, leaving gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Creates a BRC sales credit note using structured MCP fields' and explicitly contrasts with the sibling brc_create_sales_credit_note_gen_ref, making the tool's purpose and when to choose it well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: requires reference when manual references are configured, otherwise prefer the gen_ref sibling. It also details prerequisites (saleRepId, saleRepCode, analysisCategoryId, accountCode) and warns against default values, with step-by-step instructions for the confirmation workflow.
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_refAInspect
Creates a BRC sales credit note with an auto-generated reference using a raw BRC payload. Use when the company is configured for auto-generated sales references. Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | Set true only after the user confirms a CR sales analysis account code is intentional for this product line. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description fully discloses behavioral traits: the two-step confirmation process, requirement for explicit user confirmation for counterparty and analysis category, and the preview before posting. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose but every sentence adds value given the complexity. It is front-loaded with the main purpose. Slightly longer than ideal but necessary for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the confirmation flow and required preconditions well. However, it does not describe the return value structure beyond the first call preview. Given no output schema, a brief note on successful response would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema coverage is high (83%), the description adds critical context beyond parameter names and types, such as explaining when to set confirmWrite, confirmCrAnalysisCategory, and confirmCounterpartyExplicit to true. This is essential for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a BRC sales credit note with an auto-generated reference, which differentiates it from sibling tools like brc_create_sales_credit_note (without gen_ref). It provides specific verb and resource, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use (company configured for auto-generated references) and provides detailed step-by-step guidance, including what to avoid (default/demo sales rep values) and the confirmation flow. It effectively guides the agent on proper usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_sales_entryAInspect
Creates a BRC sales entry using structured MCP fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| note | Yes | ||
| acCode | Yes | ||
| procDate | Yes | ||
| entryDate | Yes | ||
| netAmount | Yes | ||
| vatRateId | Yes | ||
| customerId | Yes | ||
| accountCode | Yes | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| description | Yes | ||
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| vatPercentage | Yes | ||
| bookTranTypeId | Yes | ||
| analysisCategoryId | Yes | ||
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It details the non-destructive preview behavior (returns confirmation_required and payload preview), the requirement for explicit user confirmation before writing, and the counterparty confirmation requirement. It does not mention other side effects or rate limits, but the critical safety behavior is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that front-loads the purpose and then provides necessary workflow details. It is somewhat lengthy but every sentence adds value for correct usage. Minor improvement could be breaking into shorter sentences or bullets.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 16 parameters, 13 required, and no output schema, the description covers the essential usage workflow but omits explanations of many required fields like note, acCode, procDate, etc. The connectionRef parameter is explained in the schema. The description is adequate for the behavioral context but leaves gaps for other parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (25%), but the description adds significant meaning for key parameters by explaining the two-phase confirmation workflow for confirmWrite and the counterparty confirmation rule for confirmCounterpartyExplicit. It compensates for the lack of schema descriptions on these critical booleans, though many other parameters remain without explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'Creates a BRC sales entry using structured MCP fields,' which clearly states the verb (creates) and resource (BRC sales entry). The sibling tools include batch variants and other document types, distinguishing this as a single sales entry creation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit instructions for the two-phase confirmation workflow: first call without confirmWrite:true, show preview, then retry with confirmWrite:true after user confirmation. It also requires confirmCounterpartyExplicit:true after explicit counterparty confirmation. It does not compare directly to sibling tools but the 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_create_sales_invoiceAInspect
Creates a BRC sales invoice using structured MCP fields. Requires a reference when the company is configured for manual sales references; otherwise prefer brc_create_sales_invoice_gen_ref. Previews before posting include a Missing or not provided section for blank customer phone or email only — warnings only, do not invent values. Nothing is written to Big Red Cloud until you confirm. Optional. 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. Optional. 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"). Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. When Gross Price Entry is enabled for sales invoicing, this tool requires priceBasis. Use priceBasis "gross" when unit prices are VAT-inclusive/gross, or priceBasis "net" when unit prices are VAT-exclusive/net. Do not tell the user to disable Gross Price Entry if they have provided priceBasis. Do not invent productId values and do not use productId 0 or 1 as placeholders. productId 0 and 1 are treated as placeholders and are blocked at runtime before preview-before-posting and before posting. If a product line is needed, first call brc_list_products and use a real product from the connected company. If no suitable product exists, ask the user whether to create/select a product, or use a service/non-product line only if the endpoint supports it. Sales invoices must use Sales VAT rates. Purchase/non-Sales VAT rates are blocked before preview-before-posting and before posting, even if the VAT percentage matches. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Optional. 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. | |
| acCode | Yes | ||
| procDate | Yes | ||
| quantity | Yes | ||
| entryDate | Yes | ||
| netAmount | Yes | ||
| productId | Yes | productCode 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`). | |
| reference | No | Optional. 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. | |
| saleRepId | Yes | Sales rep id from brc_list_sales_reps. | |
| unitPrice | Yes | ||
| vatRateId | Yes | ||
| customerId | Yes | ||
| deliveryTo | No | Optional. 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"). | |
| priceBasis | No | 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. | |
| accountCode | Yes | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| description | Yes | Product 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. | |
| productCode | Yes | productCode 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`). | |
| saleRepCode | Yes | Sales rep code from brc_list_sales_reps. | |
| confirmWrite | No | Must 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. | |
| customerName | No | Optional. 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. | |
| connectionRef | No | 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. | |
| vatPercentage | Yes | ||
| bookTranTypeId | Yes | ||
| analysisCategoryId | Yes | ||
| confirmCrAnalysisCategory | No | Set true only after the user confirms a CR sales analysis account code is intentional for this product line. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description fully discloses behavior: preview-first workflow (first call without confirmWrite returns confirmation_required), nothing written until explicit confirmation, blocking of invalid values (productId 0/1, non-Sales VAT rates), and default behaviors for note and deliveryTo. Explains that passing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very long (multiple paragraphs) and dense with instructions. While every sentence adds value, it lacks structural elements like bullet points or sections. For a tool with 27 parameters, some conciseness could be improved by organizing information more efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high complexity (27 parameters, 18 required, no output schema), the description is thorough in covering input constraints, workflow, and edge cases (preview, blocking, defaults). However, it does not describe the output structure or return value, which would be helpful for an agent to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 56%, and the main description adds substantial context beyond schema, such as explanation of productId/productCode usage, priceBasis conditions, and confirmation flags. However, some parameters like acCode have no schema description and lack additional explanation in the main text, which slightly reduces the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Creates a BRC sales invoice using structured MCP fields' which clearly states the action and resource. It also distinguishes from the sibling brc_create_sales_invoice_gen_ref by specifying when to prefer that alternative based on manual reference configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides comprehensive when-to-use guidance: requires reference when company is configured for manual references, otherwise prefer alternative. Also details prerequisites like saleRepId, analysisCategoryId, and gives rules for confirmWrite, confirmCrAnalysisCategory, confirmCounterpartyExplicit, and priceBasis. Explicitly states not to invent values or use placeholders.
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_refAInspect
Creates a BRC sales invoice with an auto-generated reference using a raw BRC payload. Use when the company is configured for auto-generated sales references. Previews before posting include a Missing or not provided section for blank customer phone or email only — warnings only, do not invent values. Nothing is written to Big Red Cloud until you confirm. In the raw payload, the BRC "Note" field (JSON note) defaults to the customer name (BRC customer "Name" / JSON name) when omitted and must never be set to the product name; the BRC "Delivery To" address (JSON deliveryTo) is only included when explicitly provided. Raw 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. Optional. 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. Optional. 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"). Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. When Gross Price Entry is enabled for sales invoicing, this tool requires priceBasis. Use priceBasis "gross" when unit prices are VAT-inclusive/gross, or priceBasis "net" when unit prices are VAT-exclusive/net. Do not tell the user to disable Gross Price Entry if they have provided priceBasis. Do not invent productId values and do not use productId 0 or 1 as placeholders. productId 0 and 1 are treated as placeholders and are blocked at runtime before preview-before-posting and before posting. If a product line is needed, first call brc_list_products and use a real product from the connected company. If no suitable product exists, ask the user whether to create/select a product, or use a service/non-product line only if the endpoint supports it. Sales invoices must use Sales VAT rates. Purchase/non-Sales VAT rates are blocked before preview-before-posting and before posting, even if the VAT percentage matches. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | Raw 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. | |
| priceBasis | No | 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| confirmCrAnalysisCategory | No | Set true only after the user confirms a CR sales analysis account code is intentional for this product line. | |
| confirmCounterpartyExplicit | No | Must 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully covers behavioral traits: preview-before-posting, validation rules, blocked values (productId 0/1, non-Sales VAT rates), default behavior for note and deliveryTo, and the requirement for nested acEntries. This is comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very long (over 500 words) and includes some redundancy (e.g., note and deliveryTo optionality repeated). It lacks clear structure or bullet points, though the content is essential. Could be more concisely organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the tool (7 parameters, nested objects, no output schema), the description covers all aspects: validation, preview, confirmation flow, default behaviors, blocked values, required fields, and references to sibling tools (brc_list_products). It is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds significant value beyond the schema by explaining defaults (note defaults to customer name), conditional requirements (priceBasis when Gross Price Entry enabled), and cross-parameter constraints (saleRepId and saleRepCode must be non-default).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a BRC sales invoice with an auto-generated reference, distinguishing it from its sibling brc_create_sales_invoice which likely requires a manual reference. The verb 'Creates' and resource 'BRC sales invoice' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use when the company is configured for auto-generated sales references.' Also provides detailed guidance on confirmation flags (confirmWrite, confirmCounterpartyExplicit, confirmCrAnalysisCategory) and when not to use default values.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_sales_repAInspect
Creates a BRC sales rep using structured MCP fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Sales rep code. | |
| name | Yes | Sales rep name. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly explains the two-step confirmWrite workflow, that nothing is written until confirmed, and that the first call returns a preview. It does not cover error handling or idempotency, but the key behavioral trait (safe creation with user confirmation) is well explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately sized and front-loaded with the core purpose. Every sentence serves a purpose: defining the action, explaining the workflow, and clarifying the confirmWrite parameter. However, it could be slightly more concise without losing essential guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters (3 required), no output schema, and no annotations, the description should cover more. It explains the creation workflow and confirmWrite behavior but does not mention what the tool returns after a successful write (only mentions the preview return) or any prerequisites like needing a company connection. This leaves some gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 significant value for the confirmWrite parameter by explaining the required workflow (first call without confirmWrite, then retry with true). For other parameters (code, name, companyName, connectionRef), the description adds little beyond the schema, but the total added context justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Creates a BRC sales rep using structured MCP fields,' clearly stating the verb (creates) and resource (BRC sales rep). It distinguishes from sibling tools like brc_batch_sales_reps (batch), brc_get_sales_rep (read), brc_delete_sales_rep (delete), and brc_update_sales_rep (update) by focusing on creation of 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit step-by-step usage instructions: first call without confirmWrite: true, show the preview, then retry with confirmWrite: true after user confirmation. It clarifies that passing preflight is not confirmation. However, it does not explicitly mention when to avoid using this tool (e.g., in favor of batch operations).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_create_supplierAInspect
Creates a BRC supplier using a raw BRC payload. Does not create or update opening balance transactions. If the user provides an opening balance, warn them that it must be entered directly in Big Red Cloud. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | Yes | Raw BRC-compatible payload for this endpoint. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the preflight/confirm mechanism, that no opening balance is handled, and the need for user confirmation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise with all sentences earning their place, but could be slightly more structured (e.g., separation of workflow steps).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multi-step), the description covers workflow, return values (confirmation_required, preview), and edge case (opening balance) completely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds significant value beyond schema by explaining confirmWrite's step-by-step usage, connectionRef's nature, and payload as raw BRC structure. Schema coverage is 100%, but description enriches all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a BRC supplier with a raw payload, distinguishes from opening balance tools, and includes specific workflow details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instructions on the two-step confirmWrite process and warning about opening balance, but does not directly compare to sibling create tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_accrualAInspect
Removes an existing parent Accrual by id. Requires the accrual timestamp in Base64 string format. Use brc_get_accrual first to retrieve the current timestamp. Do not call with confirmWrite=true until the user explicitly confirms deletion.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Parent accrual id. | |
| timestamp | Yes | Base64 timestamp returned by the accrual, for example K94UQIbL3gg=. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must be true only after the user explicitly confirms deleting this accrual. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It mentions the deletion action, the prerequisite timestamp requirement, and the confirmWrite safety flag. It does not detail consequences or permissions, but for a delete tool this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler. The first sentence states the action, the second gives a prerequisite, and the third warns about confirmWrite. It is front-loaded and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description covers the essential aspects: purpose, required workflow (get accrual first), and a critical safety note. It could mention what happens on success or error, but for a single-action delete tool it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 meaning by specifying the timestamp is in Base64 format and that confirmWrite must be true only after user confirmation. It also provides an example for companyName. This surpasses the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it removes an accrual by id, with the specific verb 'Removes' and resource 'parent Accrual'. However, it does not explicitly differentiate from other delete tools like brc_delete_bank_account, but the name and action are distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call brc_get_accrual first to retrieve the timestamp, and warns to not set confirmWrite=true until user confirms deletion. This provides clear when-to-use and 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_delete_allocation_resolverAInspect
Reverses/deletes a single allocation by allocation resolver id. Use brc_list_allocated_transactions first to find the allocation id. Do not call with confirmWrite=true until the user explicitly confirms the reversal/deletion.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Allocation resolver id to reverse/delete. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must be true only after the user explicitly confirms reversing/deleting this allocation. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It warns about the confirmWrite parameter but does not explain deletion consequences, irreversibility, required permissions, or what happens on success/failure. Additional detail would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each carrying essential information: action and prerequisite in the first, safety warning in the second. No redundant words, well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 4 parameters, no annotations, and no output schema, the description covers purpose, prerequisite, and a safety constraint. However, it lacks information about return values, error handling, and side effects, leaving some gaps for an agent to handle.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the baseline is 3. The description adds value by explaining that the 'id' comes from brc_list_allocated_transactions and that confirmWrite must only be true after user confirmation. It does not elaborate on companyName or connectionRef beyond schema, but the added context is useful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Reverses/deletes a single allocation') and specifies the resource ('by allocation resolver id'). It distinguishes from sibling tools by focusing specifically on allocation resolvers, not other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear prerequisite ('Use brc_list_allocated_transactions first to find the allocation id') and a safety warning about confirmWrite. However, it does not explicitly exclude alternative tools or specify 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_delete_bank_accountAInspect
Deletes a BRC bank account by id. Only call this after the user has explicitly confirmed deletion. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | bank account id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that first call returns confirmation_required and payload preview, and that nothing is written until confirmed. This is transparent and covers the core behavioral trait of a destructive action with safeguards.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single paragraph with front-loaded purpose. Every sentence adds information about the confirmation flow. Could be slightly more concise, but it is well-structured and not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description adequately explains the return behavior (confirmation_required and preview). It covers the essential parameter confirmWrite and the overall process. Lacks mention of confirmDelete role, but the tool's core behavior is sufficiently described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80% (4 out of 5 params described). Description adds value beyond schema by explaining the critical confirmWrite parameter's behavior in the multi-step process. However, it omits mention of confirmDelete (present in schema) and connectionRef (already described in schema).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Deletes a BRC bank account by id' – specific verb and resource. It also outlines a unique multi-step confirmation process, distinguishing it from other delete tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to only call after user confirms deletion, describes two-step process (first call without confirmWrite, show preview, then confirm). Contrasts with what not to do (passing preflight is not confirmation). Clear when and how to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_cash_paymentAInspect
Deletes a BRC cash payment by id. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | cash payment id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description fully carries the burden. It discloses the two-phase confirmation behavior, including that the first call returns a preview and that confirmWrite triggers the actual delete. 'Red shows what it will post' hints at UI behavior. This is comprehensive for a delete tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, well-structured with a logical flow: purpose, first step, second step, warning. It is informative but could be slightly more concise by removing 'Red shows what it will post' (ambiguous) or combining sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core deletion workflow but omits details about error handling, return values, permissions, or side effects. Given the tool has five parameters and no output schema, more context on what happens on success/failure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so descriptions exist for most parameters. The description adds value by explaining the workflow for confirmWrite and confirms that companyName and id are used as expected. It does not add much for confirmDelete or connectionRef, but the schema already covers them adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes a BRC cash payment by ID. The verb 'deletes' and resource 'cash payment' are specific and distinguish it from sibling delete tools like brc_delete_cash_receipt.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly outlines a two-step process: first call without confirmWrite to get a preview, then retry with confirmWrite only after user confirmation. Warns that preflight is not confirmation, providing clear when-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_delete_cash_receiptAInspect
Deletes a BRC cash receipt by id. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | cash receipt id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description bears full responsibility. It fully discloses the two-step process, that nothing is written until confirmation, and the preview requirement, ensuring safe usage despite destructive nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four concise sentences front-load the purpose and then efficiently detail the workflow. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description covers the core deletion workflow thoroughly but omits details on success/error responses. Prerequisites like company connection are implied via connectionRef parameter. Adequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80% (missing confirmDelete description). The description adds significant context for confirmWrite (preview, confirmation flow) beyond schema. Other parameters like connectionRef are already well-described in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Deletes a BRC cash receipt by id', specifying the verb and resource. It distinguishes itself from sibling delete tools by focusing on cash receipts and detailing a unique two-step confirmation workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance: first call without confirmWrite for preview, then only with confirmWrite after user confirmation. It also warns 'Passing preflight is not confirmation', preventing misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_customerAInspect
Deletes a BRC customer by id. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | customer id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It details the two-step workflow, side effects (returns preview, requires confirmation), and key behaviors like 'Red shows what it will post' and 'Passing preflight is not confirmation.' All behavioral traits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise yet comprehensive. Every sentence serves a purpose: stating action, explaining the two-step process, setting expectations, and clarifying constraints. No fluff; clear and direct instructions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description sufficiently explains the return behavior (confirmation_required and preview). Workflow is fully covered, including post-confirmation. Siblings are numerous, but the description uniquely defines this tool's deletion process.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description adds significant meaning beyond the input schema: explains how confirmWrite operates as a safety gate, the requirement for explicit user confirmation, the role of confirmDelete (default false), and that connectionRef must be reused. Schema coverage is high but description enriches understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Deletes a BRC customer by id' and distinguishes from sibling delete tools (e.g., brc_delete_supplier). The two-step confirmation process is thoroughly described, making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit step-by-step instructions: first call without confirmWrite for preview, then retry with confirmWrite only after user confirmation. Clearly states when not to use (e.g., not setting confirmWrite on first call).
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_batchAInspect
Removes an existing Nominal Journal Batch by id. Requires the batch timestamp in Base64 string format. Use brc_get_nominal_journal_batch first to retrieve the current timestamp. Do not call with confirmWrite=true until the user explicitly confirms deletion.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Nominal Journal Batch id. | |
| timestamp | Yes | Base64 timestamp returned by the Nominal Journal Batch, for example 7aIZQIbL3gg=. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must be true only after the user explicitly confirms deleting this Nominal Journal Batch. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full disclosure responsibility. It reveals that the operation is destructive (removal), requires a Base64 timestamp, and has a safety mechanism (confirmWrite). This provides key behavioral context beyond the schema, though it omits potential error conditions or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each serving a distinct purpose: stating the action, noting a requirement, and providing usage instructions. It is front-loaded with the core purpose and avoids any extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, the description adequately covers the deletion workflow and safety mechanisms. It provides enough context for an agent to use the tool correctly, though it could be more complete by mentioning error cases or what happens on success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description adds value by explaining the dependency of timestamp on a prior get call and the conditional use of confirmWrite. However, it does not significantly enhance understanding of id or companyName beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Removes an existing Nominal Journal Batch by id') and identifies the specific resource. It also provides a key prerequisite (timestamp retrieval), which distinguishes this tool from sibling 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: use brc_get_nominal_journal_batch to obtain the timestamp before deletion, and defer setting confirmWrite=true until user confirmation. This clearly directs the agent on the correct invocation sequence, though it does not explicitly mention when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_paymentAInspect
Deletes a BRC payment by id. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | payment id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden of behavioral disclosure. It explains the destructive nature of the tool, the confirmation mechanism to prevent accidental deletion, and explicitly states that nothing is written until user confirms. This is highly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with the main action first, followed by detailed instructions. All sentences are necessary and informative. It could be slightly more concise, but the clarity and completeness justify a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, no output schema, no annotations), the description covers purpose, usage, and behavior comprehensively. It lacks explicit details about return values or error handling, but provides enough context for an agent to execute the tool correctly, earning a 4.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, setting baseline at 3. The description adds significant value by detailing the confirmWrite parameter's usage (when to set true, not on first call, need for explicit user confirmation). It does not add to confirmDelete or connectionRef, but the critical parameter is well-covered, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes a BRC payment by ID, which is a specific verb+resource combination. It distinguishes from sibling delete tools by naming 'BRC payment' and describing the unique two-step confirmation flow, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit step-by-step instructions: first call without confirmWrite to get a preview, then after user confirmation retry with confirmWrite: true. It clarifies that the preview must be shown before posting and that explicit user confirmation is required, effectively guiding the agent on when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_prepaymentAInspect
Removes an existing parent Prepayment by id. Requires the prepayment timestamp in Base64 string format. Use brc_get_prepayment first to retrieve the current timestamp. Do not call with confirmWrite=true until the user explicitly confirms deletion.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Parent prepayment id. | |
| timestamp | Yes | Base64 timestamp returned by the prepayment, for example bgUcQIbL3gg=. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must be true only after the user explicitly confirms deleting this prepayment. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It correctly indicates the destructive nature (removes) and the required user confirmation step. However, it does not address permanence, side effects, or required permissions beyond the timestamp requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences: purpose, prerequisite, and constraint. No redundant information, and critical details are front-loaded. Every sentence serves a clear function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides essential usage steps (get timestamp, confirm) and the parameter schema is complete. Missing details on return value or error behavior, but for a delete operation with well-defined parameters, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema adequately documents all parameters. The description does not add meaningful parameter-level context beyond restating the timestamp format, which is already in the schema. Thus baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Removes') and the target resource ('existing parent Prepayment by id'), making the tool's purpose unambiguous. It also distinguishes from sibling delete tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit prerequisites ('Use brc_get_prepayment first to retrieve the current timestamp') and a critical constraint ('Do not call with confirmWrite=true until the user explicitly confirms deletion'). While it does not compare against alternatives, the guidance is sufficient for a straightforward delete operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_productAInspect
Deletes a BRC product by id. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | product id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It fully describes the destructive nature (deletes product), the safety mechanism (preview + confirmation), and the behavior of the first call (returns confirmation_required with payload preview). It also clarifies that passing preflight is not confirmation. This is exemplary transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy but every sentence provides essential information for safe and correct usage. It is front-loaded with the primary action and structured logically. Minor redundancy could be trimmed, but overall it is well-organized and concise for the complexity involved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately covers the expected response behavior (confirmation_required with preview) and the confirmation process. It addresses all critical aspects: what the tool does, how to invoke it safely, parameter semantics, and what to expect. For a destructive tool with a required two-step flow, this is comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, and the description adds crucial context beyond the schema. For confirmWrite, it explains the two-step workflow; for connectionRef, it reinforces reuse instructions. The description integrates parameter usage into the overall process, making the semantics clear and actionable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Deletes a BRC product by id.' This is a specific verb (deletes) and resource (BRC product), distinguishing it from sibling delete tools for other entities. The description also elaborates on the two-step confirmation workflow, further clarifying usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit instructions: first call without confirmWrite returns a preview, show a plain-English preview, then retry with confirmWrite only after explicit user confirmation. It warns not to set confirmWrite true on first call and emphasizes that nothing is written until confirmed. This is thorough guidance on when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_purchaseAInspect
Deletes a BRC purchase by id using timestamp confirmation. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Purchase id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses the tool's behavior: it describes the two-step confirmation process, the return of confirmation_required and payload preview on the first call, and the condition that nothing is written until confirmation. It also clarifies the role of confirmWrite and warns against treating preflight as confirmation. This is comprehensive for 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise with about three sentences. It front-loads the core action ('Deletes a BRC purchase by id using timestamp confirmation'). The remaining sentences add necessary usage guidance. Minor redundancy exists (e.g., 'Red shows what it will post and waits for confirmation' could be clearer), but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the confirmation process and mentions the expected response (confirmation_required and payload preview). However, it does not describe the final success response after deletion, nor does it cover error states or prerequisites like permissions. Given the tool's complexity (5 parameters, destructive), this is a notable gap, but the core workflow is well-covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (80%), so the schema already defines most parameters. The description adds value by explaining the special logic for confirmWrite (must only be true after user confirmation) and clarifying the purpose of connectionRef (opaque reference, not an API key). This goes beyond the schema's brief descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Deletes a BRC purchase') and the resource ('by id'). It also introduces a key mechanism (timestamp confirmation). However, it does not explicitly distinguish this tool from sibling tools like other delete operations (e.g., brc_delete_accrual). Nonetheless, the purpose is specific and clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides detailed step-by-step guidance: first call without confirmWrite, show preview to user, then only retry with confirmWrite after explicit user confirmation. It also explicitly warns that preflight is not confirmation. However, it does not mention when not to use this tool or suggest alternatives for other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_quoteAInspect
Deletes a BRC quote by id using timestamp confirmation. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Quote id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility. It explains the two-phase confirmation process, including that the first call returns a preview and nothing is written until confirmed. However, it mentions 'timestamp confirmation' but then focuses on the confirmWrite parameter, creating minor inconsistency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy due to detailed instructions, but it is well-structured: it starts with the core purpose then provides ordered steps. Every sentence adds necessary guidance for proper invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the confirmation workflow, it lacks details about return values for the second call (e.g., success confirmation), error handling, and idempotency. Given the tool's complexity and 5 parameters, additional completeness would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so the schema documents most parameters. The description adds critical value by explaining the workflow for confirmWrite, including when to set it true. However, it does not elaborate on other parameters beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Deletes a BRC quote by id using timestamp confirmation,' specifying the action (delete), resource (BRC quote), and method (timestamp confirmation). It effectively distinguishes from sibling tools like brc_close_quote and brc_reopen_quote.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit step-by-step instructions: first call without confirmWrite: true returns a preview, then retry with confirmWrite: true only after explicit user confirmation. It clarifies that 'Passing preflight is not confirmation,' leaving no ambiguity about the required workflow.
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_noteAInspect
Deletes a BRC sales credit note by id using timestamp confirmation. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales credit note id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the two-phase confirmation behavior, including the need to show a plain-English preview and wait for explicit user confirmation. It warns against setting confirmWrite on first call or without user confirmation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is front-loaded with key action and confirmation flow. However, contains some verbose phrases like 'Red shows what it will post and waits for confirmation' that could be more concise. Overall good structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the essential deletion workflow with timestamp confirmation. No output schema, but description mentions returning confirmation_required and payload preview. Could be enhanced by describing the full response structure or potential errors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80% and the description adds significant context beyond schema for confirmWrite (two-phase flow, confirmation requirement). Other parameters like id and companyName are adequately described in schema. Slight improvement possible for confirmDelete parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Deletes', resource 'BRC sales credit note', and method 'by id using timestamp confirmation'. Distinguishes from sibling delete tools like brc_delete_sales_entry and brc_delete_sales_invoice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes the two-phase confirmation process: first call without confirmWrite: true, then preview, then retry with confirmWrite: true only after user confirmation. Specifies when not to set confirmWrite and clarifies that preflight is not confirmation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_sales_entryAInspect
Deletes a BRC sales entry by id using timestamp confirmation. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales entry id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the two-phase process including the return of 'confirmation_required' and a preview. Notes that 'preflight' is not confirmation. No annotations exist to compare, but the description is clear on behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is front-loaded with purpose and provides structured workflow instructions. Slightly verbose but each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 params, 2 required, no output schema, and no annotations, the description fully explains the confirmation mechanism and parameter roles. An agent can correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80% (4/5 params described). Description adds critical context for 'confirmWrite' parameter, explaining the confirmation workflow. Other params are adequately described in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States 'Deletes a BRC sales entry by id using timestamp confirmation', with specific verb and resource. Clearly distinguishes from sibling delete tools by naming the exact entity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Detailed step-by-step workflow: first call without confirmWrite returns preview, show it to user, then retry with confirmWrite true only after explicit confirmation. Warns against improper usage and clarifies when to set confirmWrite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_sales_invoiceAInspect
Deletes a BRC sales invoice by id using timestamp confirmation. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales invoice id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description effectively conveys the destructive nature and the required confirmation process. It explains the preview-and-confirm workflow and warns about the need for explicit user confirmation. However, it does not disclose potential side effects or error handling (e.g., what happens if the invoice doesn't exist), which would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is slightly verbose, repeating the preview-and-confirm concept across multiple sentences. It could be more concise by merging the first and third sentences. The structure is front-loaded with the core purpose, but the additional sentences add redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema, the description explains the main workflow but misses details about response format, error scenarios, and the exact meaning of 'timestamp confirmation.' It adequately covers the confirmation process but lacks completeness on what the tool returns or how to handle failures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80% (4/5 parameters described). The description adds valuable context for confirmWrite (preview behavior) and clarifies the confirmation workflow. However, it does not elaborate on the 'timestamp confirmation' mentioned in the first sentence, and the confirmDelete parameter is not mentioned in the description, leaving a gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The tool name 'brc_delete_sales_invoice' and description 'Deletes a BRC sales invoice by id using timestamp confirmation' provide a specific verb and resource, distinguishing it from sibling delete tools like brc_delete_customer. The core purpose is clearly stated and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly outlines a two-step workflow: first call without confirmWrite to get a preview, then retry with confirmWrite after user confirmation. It clarifies that 'Passing preflight is not confirmation,' providing clear when-to-use guidance. However, it does not explicitly mention when not to use this tool or alternatives, leaving room for slight ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_sales_repAInspect
Deletes a BRC sales rep by id using timestamp confirmation. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales rep id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully explains the destructive nature of the tool, the two-step confirmation process, and clarifies that preview display and preflight are not confirmation. This is thorough 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is informative but somewhat verbose, including UI-specific details like 'Red shows what it will post' which may not be universal. It could be more concise while retaining key workflow steps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a deletion with confirmation and no output schema, the description covers the essential workflow and assumptions. It lacks details about error handling or return values, but the core mechanism is well explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80% and parameter descriptions are already present. The tool description adds value by explaining the confirmWrite workflow but does not elaborate on other parameters like connectionRef or id beyond what schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes a BRC sales rep by id, using a timestamp confirmation protocol. It distinguishes itself from other delete tools by emphasizing the two-step confirmation workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit instructions on when to call with or without confirmWrite, and when to retry after user confirmation. However, it does not compare to sibling delete tools or clarify when to use this specific deletion method.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_delete_supplierAInspect
Deletes a BRC supplier by id. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | supplier id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| confirmDelete | No | ||
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the two-step preflight/confirmation behavior, which is critical for a destructive operation. It explains the preview requirement and confirmation step, but does not detail what happens on success or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at a few sentences, but the mention of 'Red shows what it will post' is slightly ambiguous if 'Red' is not defined. Overall, it is efficient and front-loaded with the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (preflight confirmation) and schema richness (80% coverage), the description covers the key workflow adequately. However, it omits explanation of the confirmDelete parameter, which could be confusing, and no output schema exists to describe returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already documents most parameters. The description adds value by explaining the workflow for the confirmWrite parameter, clarifying its role beyond the schema's boolean description. It does not add detail for id, companyName, or confirmDelete, but the schema suffices.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Deletes a BRC supplier by id', specifying the verb (deletes), resource (BRC supplier), and method (by id). This distinguishes it clearly from sibling delete 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit workflow instructions: first call without confirmWrite:true returns a preview, then after user confirmation, retry with confirmWrite:true. It warns that 'Passing preflight is not confirmation.' However, it does not explicitly state when to use this tool versus alternative deletion tools (e.g., for other entities).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_find_help_resourcesAInspect
Find Big Red Cloud customer help across Freshdesk support articles, customer documentation, recorded webinar videos, and upcoming live webinars. Use when the customer asks a support question or how-to question about Big Red Cloud. Do not use for connecting companies, listing connected companies, clearing connections, or any company books data. Read-only. Does not require a connected company. Return a concise synthesized answer for the customer: direct answer, clear steps where applicable, then a Sources section with Articles / Videos groupings and exact public links from customerFacingSourcesMarkdown or the sources array. Use only publicUrl or registrationUrl values returned in resources for hyperlinks. Freshdesk links use bigredcloud.freshdesk.com — never rewrite them onto bigredcloud.com/support. Keep screenshot Markdown links beside their related steps — never move them into Sources. Prefer customer documentation for procedural questions, Freshdesk for detailed step-by-step instructions, recorded webinars for video walkthroughs, and upcoming webinars for training/onboarding/live help requests. Do not show internal resource IDs, Azure blob names, storage URLs, relevance scores, or sync metadata to the customer. For Big Red Cloud how-to or tutorial questions, automatically open the best matching Freshdesk article from usedResourceIds with brc_get_help_resource_details using includeImages=true and imagePresentation=links. Place each relevant screenshot beside its step even when the user did not explicitly ask for images. Never claim no Freshdesk article exists when usedResourceIds includes a matching Freshdesk resource. Sources must list only usedResourceIds — never unrelated login, API-key, user, or webinar search hits. Under Sources, group Freshdesk / documentation under Articles and recorded webinars under Videos — omit an empty Videos heading. For procedural how-tos, automatically include the strongest topic-aligned training video under Videos when one exists — do not require the user to ask for a video. Always emit Sources before any Do this through Red section. When redActionAvailable is true, include customerFacingRedActionMarkdown after Sources and before support — do not start the action unless the user asks. Always end every help answer with Still need help? and Contact Big Red Cloud Support — support must be last. Never claim company data was changed by a tutorial answer.
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Optional source filter: freshdesk, customer_docs, recorded_webinar, upcoming_webinar, or all. | |
| category | No | Optional help category filter, for example bank_feeds or sales. | |
| question | Yes | Plain-English help question, for example how do bank feeds work or how do I reconcile my bank account. | |
| maxResults | No | Maximum number of matching resources to return. Defaults to 5. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description thoroughly discloses behavioral traits: read-only, no connected company requirement, answer formatting rules, source preferences, constraints on displaying information, and error handling instructions. It fully covers the agent's needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely verbose and unstructured as a single long paragraph. While it contains necessary detail, it could be significantly shortened or organized into bullet points or sections to improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no output schema, no annotations), the description is exceptionally complete. It covers all aspects from invocation to output formatting, source selection, and error handling, leaving no gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 5 parameters. The description adds value by elaborating on connectionRef (explaining it's not an API key) and providing example usage for question, but the incremental benefit over schema is modest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: finding Big Red Cloud help resources across multiple sources (Freshdesk, documentation, webinars). The verb 'Find' and the resource specification are explicit, and it distinguishes from sibling tools that handle batch CRUD operations or company connections.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use scenarios ('customer asks support/how-to question') and when-not-to-use ('for connecting companies, listing connected companies, ... company books data'). It also gives implicit alternatives by exclusion.
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_quoteAInspect
Generates a sales invoice from a BRC quote. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| quoteId | Yes | Quote id. | |
| procDate | No | Optional invoice processing date in ISO format. | |
| entryDate | No | Optional invoice entry date in ISO format. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the two-step process, that nothing is written until confirmed, and the nature of connectionRef. However, it does not mention potential error conditions or what happens if the quote is already invoiced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy but each sentence adds value—steps, warnings, and parameter clarifications. Could be slightly more concise, but structure is logical and front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters and no output schema, the description covers the workflow well but lacks information about the final response structure or error handling. It mentions a preview return for the first call but not the full response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. The description adds significant context beyond schema: explains confirmWrite's role in the two-step flow, clarifies connectionRef is opaque and not an API key, and emphasizes that preflight is not confirmation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Generates a sales invoice from a BRC quote', using a specific verb and resource. It distinguishes from siblings like brc_create_sales_invoice by specifying the source (quote). The two-step workflow is explicitly described.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit instructions on when and how to use the confirmWrite parameter, including the preflight step and requirement for user confirmation. It does not directly compare with alternative tools, but the 'from quote' context implies specific use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_accrualBInspect
Returns information about a single parent Accrual by id. Child accruals are not exposed by the public API.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Parent accrual id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states that only parent accruals are returned and child accruals are not exposed, but it does not disclose other behavioral traits such as side effects, authentication requirements, or rate limits. This is minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the purpose, and adds a single constraint. Every word earns its place with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not explain what the returned information contains. For a get-by-id tool, this is a significant gap as the agent cannot anticipate the response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description adds no extra meaning beyond what is in the 'id' and 'companyName' descriptions. The baseline of 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'returns information about a single parent Accrual by id', specifying the verb, resource, and a key distinction (parent vs child). This distinguishes it from siblings like brc_list_accruals and 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have an accrual id and need details, but it lacks explicit guidance on when to use this tool versus alternatives like list or create accruals. No when-not or alternative mentions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_bank_accountCInspect
Gets one BRC bank account by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Bank account id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It merely states the action without addressing outcomes (e.g., error if id not found), auth requirements, or any side effects. Minimal transparency for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise single sentence, front-loaded with key action. No extraneous text. However, it may be too brief given the lack of behavioral details, but for a simple getter it is acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should provide more context about return value, error handling, and the role of 'connectionRef'. It fails to explain the connection prerequisite, making it incomplete for proper use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no extra meaning beyond the schema; it only mentions 'by id', which is already clear from the 'id' parameter. No additional clarification for 'connectionRef' or 'companyName'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description includes a specific verb 'Gets' and resource 'BRC bank account' with the method 'by id'. It clearly indicates single-record retrieval, distinguishing it from sibling 'brc_list_bank_accounts' which lists multiple. However, it does not explicitly name the sibling or provide a contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives like 'brc_list_bank_accounts' or when not to use it. Lacks context for prerequisites such as needing an established company connection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_cash_paymentBInspect
Gets one BRC cash payment by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Cash payment id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only says 'gets', which implies read-only. It does not disclose potential error cases (e.g., missing id), return format, or whether it has side effects. The minimal description fails to add meaningful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (6 words), front-loaded with the action and resource. No redundant information. However, it could include a bit more detail without being overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is incomplete. It does not explain what the tool returns or how to interpret results. A simple get tool still benefits from stating that it returns the payment details or an error if not found.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no additional meaning beyond what the schema provides for the parameters. It does not explain how the parameters are used beyond 'by id'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (gets) and the resource (one BRC cash payment by id). It effectively differentiates from sibling tools like brc_list_cash_payments (list) and brc_create_cash_payment (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use when a specific payment id is known, but does not provide explicit guidance on when to use this tool versus alternatives, nor any prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_cash_receiptCInspect
Gets one BRC cash receipt by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Cash receipt id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No behavioral traits are disclosed beyond the basic action. With no annotations, the description should detail side effects, permissions, or response behavior, but it does not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at six words, but it lacks any structural context. It is appropriate for a simple getter, though it could benefit from more detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of output schema and annotations, the description should cover return values, error handling, or integration with company connection. It fails to do so, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no additional parameter information beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a single BRC cash receipt by ID, using a specific verb and resource. However, it does not differentiate from sibling tools like brc_get_cash_payment or brc_list_cash_receipts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 indicate when to use this tool versus alternatives such as brc_list_cash_receipts or brc_create_cash_receipt.
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_statusAInspect
Use when the user asks for an API key, secret, or what key was used. Also use for connection duration or time-left questions when listing all companies. Returns connection status only — never the key. The assistant must not repeat keys from chat history.
| Name | Required | Description | Default |
|---|---|---|---|
| companyName | No | Optional company context name. If omitted, summarises all contexts. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, description carries full burden. It clearly states it returns status only and never the key, which is good. However, it does not disclose any other behavioral traits like authentication requirements, rate limits, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences and a separate behavioral instruction. It is front-loaded with usage context and retains only essential information without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains return value (status only). It covers common use cases (key, secret, duration) and parameter roles. For a simple status check tool, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully described in schema (100% coverage). The description adds meaning: explains that companyName is optional and context-summarizing, and connectionRef is an opaque reference with reuse guidance, adding value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns connection status and never the key, and specifies it handles API key/secret/duration questions. It distinguishes its purpose from siblings by focusing on key status, though no explicit sibling differentiation is given.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: for API key/secret questions and connection duration/time-left when listing companies. Also instructs not to repeat keys from chat history. Provides clear context but lacks explicit 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_get_company_logoCInspect
Gets the company logo from BRC.
| Name | Required | Description | Default |
|---|---|---|---|
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. However, it only states the tool 'gets' the logo, with no mention of side effects, authentication requirements, or rate limits. This is insufficient for safe usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence, but it omits important details that could be added without becoming verbose. It is not wasteful but is too sparse for optimal clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not explain what the tool returns (e.g., URL, binary, or file path). The parameter descriptions are present but the overall context is incomplete for a retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters, so baseline is 3. The tool description adds no additional meaning beyond what the schema provides, maintaining the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Gets the company logo' using a specific verb and resource. It distinguishes from sibling tools that retrieve other company-related information like options or settings, though it does not explicitly call out the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives. For example, other get_company_* tools exist, but the description provides no context for choosing this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_company_optionsAInspect
Gets raw BRC company processing/options settings, including nominal ledger, VAT on cash receipts, gross price entry, margin VAT, reverse charge VAT, VAT discrepancy tolerance, and ageing options. Read-only in Red; changes must be made in Big Red Cloud.
| Name | Required | Description | Default |
|---|---|---|---|
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It declares the tool is read-only, which is positive for behavioral transparency. However, it does not disclose any additional behavioral traits such as authorization requirements, rate limits, or error handling (e.g., what happens if the company does not exist).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences. The first sentence front-loads the core purpose with examples, and the second adds a critical behavioral note about read-only status. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description provides a good list of example settings, giving the agent a clear idea of what to expect. However, it is not exhaustive for all possible settings, and it could mention that a connectionRef is required (though the schema handles that). Overall, it is sufficiently complete for a straightforward read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with clear descriptions, so the baseline is 3. The description does not add significant meaning beyond the schema; it lists example settings but does not connect them to the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves raw BRC company processing/options settings and lists examples such as nominal ledger and VAT options. However, it does not differentiate from the sibling tool brc_get_company_processing_settings, which appears to have a very similar function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes that the tool is 'read-only in Red' and that changes must be made in Big Red Cloud, implying it should be used for reading settings, not modifying them. It does not explicitly mention when not to use it or suggest alternatives among the sibling tools.
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_settingsAInspect
Reads BRC company processing/options settings that affect VAT, cash receipts, payment terms, debtor statements, gross price entry, and transaction creation behaviour. Use this before VAT-sensitive write workflows where possible. These settings are read-only in Red; changes must be made in Big Red Cloud.
| Name | Required | Description | Default |
|---|---|---|---|
| includeRaw | No | If true, includes the raw BRC settings record for operator review. Customer-facing responses should normally leave this false. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It clearly states the tool performs a read operation and lists the types of settings affected (VAT, cash receipts, etc.). It does not disclose the return format or any potential side effects, but is sufficient for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that cover purpose, usage guidance, and behavioral context with no fluff. Key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description could mention the structure of the returned settings. It lists affected areas but does not indicate if a single record or list is returned. The sibling tool list does not include other settings getters, so no direct alternative guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds context for includeRaw and connectionRef but does not provide additional meaning beyond the schema. The schema already provides detailed descriptions for all parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads BRC company processing/options settings affecting VAT, cash receipts, payment terms, etc. The verb 'Reads' and specific resource 'BRC company processing/options settings' make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly recommends using the tool before VAT-sensitive write workflows, which provides direct when-to-use guidance. Also states settings are read-only in Red and changes must be made in Big Red Cloud, giving clear usage boundaries.
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_settingsAInspect
Reads BRC reference auto-generation settings for sales, purchases, quotes, debtors journal, and creditors journal. Use this before preparing or creating quotes, invoices, purchases, or other reference-sensitive records. If Quotes is Unknown, do not assume auto-generate; ask for a quote reference or user confirmation first. These settings are read-only in Red; changes must be made in Big Red Cloud.
| Name | Required | Description | Default |
|---|---|---|---|
| includeRaw | No | If true, includes the raw BRC company setup record for operator review. Customer-facing responses should normally leave this false. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses that settings are read-only in Red, implying non-destructive behavior. It adds specific conditional guidance for unknown quote settings, which is valuable behavioral context. However, it doesn't mention response format or potential errors, but for a simple read tool 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with purpose. Each sentence adds meaningful information: what it reads, when to use, conditional guidance, and read-only nature. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not explain the return value structure. However, for a read operation, 'reads settings' implies a collection of settings. Given full schema coverage and simplicity of the tool, it is minimally adequate but could specify the response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not elaborate on parameters beyond the schema's descriptions. No additional semantic value is added for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it reads 'BRC reference auto-generation settings' for specific document types (sales, purchases, quotes, etc.). This is a specific verb-resource combination that distinguishes it from sibling tools like brc_get_company_options or brc_get_company_processing_settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance on when to use: 'Use this before preparing or creating quotes, invoices, purchases, or other reference-sensitive records.' Also provides conditional behavior: 'If Quotes is Unknown, do not assume auto-generate; ask for a quote reference or user confirmation first.' And states the tool is read-only, guiding the agent not to attempt modifications.
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_configBInspect
Gets full BRC company setup configuration, including general details, financial year, reference settings, and processing options.
| Name | Required | Description | Default |
|---|---|---|---|
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the tool 'Gets' data, implying read-only but does not explicitly confirm no side effects, rate limits, or other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no redundancy. The listed categories add value, though the sentence could be slightly tighter without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains what the tool does but does not describe the return structure or how it differs from sibling tools. With no output schema, additional return context would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 both parameters. The description does not add any extra meaning or usage context beyond the schema, earning a baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Gets') and specifies the resource ('full BRC company setup configuration') with explicit categories. It distinguishes itself from sibling tools like brc_get_financial_year by indicating it returns a composite of multiple settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus more specific getters (e.g., brc_get_financial_year). The description does not specify prerequisites or mention the connectionRef parameter's role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_customerBInspect
Gets one BRC customer by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Customer id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description lacks details on read-only nature, error handling (e.g., missing customer), authentication, or rate limits. Minimal behavioral context beyond implied retrieval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One-sentence description is very concise and front-loaded. However, it omits any usage context, which slightly reduces completeness for a concise statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, description is mostly adequate. But lacks mention of return format (full customer object?) and read-only nature. With no output schema, more context would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so schema already documents each parameter. Description adds no extra meaning beyond stating 'by id'. ConnectionRef description in schema is already comprehensive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Gets one BRC customer by id', specifying verb, resource, and lookup method. Distinguishes from siblings like brc_list_customers (list) and brc_batch_customers (batch).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives guidance. Agent must infer from context that this is for single customer retrieval versus list 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_get_customer_opening_balanceCInspect
Gets a customer's opening balance.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Customer item id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It only states 'Gets a customer's opening balance' without disclosing whether the operation has side effects, requires permissions, is idempotent, or what the response format is. For a read-only operation, this is minimally implicit but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks structure. It does not front-load critical context or provide any hooks for understanding the tool's scope. It is adequate but not exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain what the tool returns. It does not. Also, it does not differentiate from sibling tools like brc_get_supplier_opening_balance or brc_list_customer_op_bal_trans. The description is incomplete for a tool with 3 parameters and no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no additional meaning beyond the schema, but it does not detract from it. The parameter roles are clearly defined in the schema, so no extra clarification is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Gets' and the resource 'customer's opening balance', clearly identifying the tool's purpose. It is specific but could be more precise about what exactly is returned (e.g., a single balance value or record). However, it adequately distinguishes from sibling tools like brc_list_customer_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.
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 versus alternatives. For example, it does not clarify that this tool retrieves the opening balance for a specific customer, while brc_list_customer_op_bal_trans lists multiple transactions. No exclusions or usage context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_deployment_policyAInspect
Authoritative customer-facing permission and output policy summary for this Red session. Use when the user asks what they can do, what tools they have, what permissions are enabled, or whether technical details/code should be shown. Summarise only whether reading company data, creating/changing records, deleting records, and customer-facing technical output are available. Do not list MCP tool names, endpoint names, tool counts, JSON, schemas, local file paths, terminal commands, environment variables, or a full capability catalogue. Customer-facing answers must be plain-English business responses with evidence, assumptions, uncertainty, and limitations. Internal analysis is allowed, but code/scripts/commands/intermediate files must not be exposed to customer users unless dev mode is enabled.
| Name | Required | Description | Default |
|---|---|---|---|
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description outlines the output (summary of permissions) and provides detailed instructions on answer formatting and exclusions (e.g., no MCP tool names, JSON, commands). It does not explicitly state read-only nature, but the 'get' prefix and content imply safe operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then provides usage and output guidance. It is somewhat verbose with repeated prohibitions, but each sentence serves a clear function without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description thoroughly explains the return value (permission summary), formatting requirements, and constraints. It covers the tool's purpose, usage context, and behavioral expectations, making it complete for decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage for the single parameter, the baseline is 3. The tool description does not add additional meaning beyond the schema's parameter description, but no further clarification is strictly needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is an 'Authoritative customer-facing permission and output policy summary for this Red session' and specifies when to use it: when the user asks about capabilities, permissions, or technical output. This distinguishes it from sibling tools, none of which serve this policy-summary function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly lists triggers: 'what they can do, what tools they have, what permissions are enabled, or whether technical details/code should be shown'. While it doesn't explicitly say when NOT to use, the positive guidance is clear and sufficient given no alternative tools for this purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_financial_yearCInspect
Gets BRC company financial year.
| Name | Required | Description | Default |
|---|---|---|---|
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It only states 'Gets BRC company financial year' without mentioning side effects, read-only nature, return format, or error conditions. The detailed connectionRef parameter description in the schema is not part of 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (5 words, single sentence). It is front-loaded with the action and resource, making it easy to parse. However, it lacks structured elements like bullet points or sections, which may be acceptable for a simple getter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a getter tool with no output schema and good parameter schema coverage, the description is minimally adequate. It does not explain what the financial year output contains (e.g., object, string) or if there are specific return fields, but the core function is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters well-documented in the input schema. The tool description adds no additional parameter meaning beyond what the schema provides. Therefore, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool retrieves the BRC company financial year, using a specific verb ('Gets') and resource ('BRC company financial year'). It is sufficient to understand the basic function, though it does not differentiate from other getter tools like brc_get_company_options.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not specify when to use this tool, prerequisites (e.g., prior company connection), or when not to use it (e.g., alternatives). Compared to siblings, there is no guidance on distinguishing from other getters.
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_detailsAInspect
Load full help-resource details for a resourceId returned by brc_find_help_resources. For Big Red Cloud how-to or tutorial questions, call this automatically for the best matching Freshdesk article with includeImages=true and imagePresentation=links — even when the user did not explicitly ask for screenshots. Freshdesk resources return cleaned article text, the canonical Freshdesk publicUrl when available, preferred instructionBlocks, ready-to-use customerFacingScreenshotMarkdown / customerFacingInstructionMarkdown, screenshotUrls for backward compatibility, Sources fields, optional Red-action fields, and optional MCP image content. When includeImages is true, use imagePresentation='links' unless the user explicitly asks for inline image content. Copy the exact Markdown links returned in customerFacingScreenshotMarkdown or customerFacingInstructionMarkdown into the final answer. Place each link after its related step. Use the short View image link text (or View image N when one step has multiple images) — do not paste the descriptive caption as link text or as a second instruction sentence. Never omit valid returned screenshot links after telling the user screenshots are available. Do not merely describe the screenshots. Do not say Here are the screenshots without including the links. Do not replace links with Screenshot 1, Tool result, Show Image, or invent different URLs. Do not depend on tool-result image previews being visible to the user — the final answer must contain the exact signed Markdown links. If no links are returned, clearly say that no matching screenshot was found. Pass the customer question when available so Freshdesk screenshots are selected from the matching workflow branch (for example existing customer versus add customer). Prefer instructionBlocks / customerFacingInstructionMarkdown when present: follow them in order and keep every screenshot Markdown link exact. Never label screenshot links Show Image. Do not invent captions or URLs. Do not group screenshots under a Relevant screenshots section when step-and-link Markdown is available. Omit screenshots from unused workflow branches. Omit unclear screenshots rather than guessing. Do not repeat a screenshot. When instructionBlocks are absent, use customerFacingScreenshotMarkdown with View image links and place each after the most relevant paragraph where possible. Do not rewrite or alter supplied screenshot URLs. Copy customerFacingSourcesMarkdown into a Sources section using the exact publicUrl or registrationUrl returned by this tool. Group Freshdesk / documentation under Articles and recorded webinars under Videos — omit an empty Videos heading. Keep screenshot links beside steps — do not move them into Sources. When redActionAvailable is true, include customerFacingRedActionMarkdown after Sources. Do not start the Red action unless the user asks. Mention preview-before-posting for write actions. Always end with customerFacingSupportMarkdown (Still need help?) after Sources and any Red-action section. Freshdesk links use bigredcloud.freshdesk.com — never rewrite them onto bigredcloud.com/support. Customer documentation returns cleaned article text and the public docs URL. Recorded webinars return title, description, public video URL, and category. Upcoming webinars return title, weekday, description, topics, registration URL, and webinar-series page URL. Read-only. Does not require a connected company. MCP image content blocks are optional compatibility content when imagePresentation is inline or both. Do not claim screenshots were supplied when imageCount is 0 or when no Markdown links are returned. Do not expose Azure blob names, storage URLs, private Freshdesk image URLs, image hashes, or sync metadata in customer-facing text. Never claim company data was changed by a tutorial answer.
| Name | Required | Description | Default |
|---|---|---|---|
| question | No | Optional customer question used to select the matching Freshdesk workflow screenshots, for example an existing-customer opening balance question versus adding a new customer. | |
| maxImages | No | Maximum Freshdesk screenshots to return. Defaults to 5. Hard maximum 8. | |
| resourceId | Yes | Resource ID from brc_find_help_resources, for example customer_docs:bank-reconciliation or freshdesk:1001. | |
| connectionRef | No | 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. | |
| includeImages | No | When true, Freshdesk articles may include screenshot presentation. Defaults to true. | |
| imagePresentation | No | How to present Freshdesk screenshots. Defaults to links (signed Markdown links only). Use inline for MCP image blocks, or both for Markdown plus image blocks. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description fully carries the burden of behavioral disclosure. It details return types (cleaned article text, publicUrl, instructionBlocks, screenshot Markdown, etc.), behavior features like preferring instructionBlocks, handling of images, and constraints like not exposing private URLs. It also states 'Read-only' and 'Does not require a connected company'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very long and includes extensive usage instructions that, while valuable, make it verbose. The purpose is front-loaded, but the density of rules and exceptions could be structured more concisely. It earns its place but is not optimally streamlined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is extremely complete, covering not only the tool's inputs and outputs but also detailed presentation rules for screenshots, sources, and red-action handling. It addresses edge cases (no links, duplicate images) and provides a comprehensive specification for using the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds significant value beyond the schema. It explains the purpose of the 'question' parameter for selecting workflow branches, defaults for includeImages, maxImages, and imagePresentation, and provides explicit usage rules like using 'links' unless the user asks for inline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the verb 'Load full help-resource details' and specifies the resource type (resourceId from brc_find_help_resources). It distinguishes itself from siblings by focusing on help resources, and the first sentence clearly defines the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance, including automatically calling this tool for how-to/tutorial questions, specifying parameter defaults like includeImages=true and imagePresentation=links. It also clarifies that it is read-only and does not require a connected company, providing clear context for usage.
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_idsAInspect
Gets nominal accounts for specific ids by calling GET /v1/nominalAccounts/{id} for each id. Month 1–Month 12 nominal figures are period movements for each financial month, not balances. Running balance = opening balance + cumulative monthly movements. Do not describe individual monthly movement values as monthly balances. If the user asks for balances over time, calculate them from opening balance plus cumulative movements, or explain that only movements are available.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Comma-separated nominal account ids. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains that each id triggers an API call, month figures are period movements, and how to calculate running balance. Does not cover error handling or performance implications but is sufficient for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with essential information, plus a crucial clarification. No redundant information, front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and no output schema, the description adequately covers the interpretation of results and usage context. Could mention the typical structure of the returned data, but not essential given the simple nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but the description adds semantic value by explaining how to interpret the data returned (movements vs balances) and the relationship between opening balance and cumulative movements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Gets nominal accounts for specific ids' and explains the API call pattern. It distinguishes from sibling tools like list or single get by specifying the by-id batch retrieval. The clarification about month figures being movements not balances further clarifies the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on how to interpret monthly figures and how to respond to user queries about balances over time. While it does not explicitly compare to alternative tools, the usage context is 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_nominal_account_ledger_by_idAInspect
Gets one BRC nominal account by id. Month 1–Month 12 nominal figures are period movements for each financial month, not balances. Running balance = opening balance + cumulative monthly movements. Do not describe individual monthly movement values as monthly balances. If the user asks for balances over time, calculate them from opening balance plus cumulative movements, or explain that only movements are available.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Nominal account id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that monthly figures are movements not balances, explains how to derive running balance, and warns against describing movements as balances. This adds significant transparency beyond just 'gets by ID'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph but efficiently packs essential information. It could be slightly more structured (e.g., bullet points for the movement vs balance distinction), but it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but the description compensates by explaining the critical meaning of monthly figures and how to compute balances. It could mention required parameters, but schema already covers that. Context is reasonably complete for a get-by-id tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all three parameters with descriptions (100% coverage), so baseline is 3. The description reinforces the meaning of the output but adds no new semantic details about the parameters themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it gets one nominal account by ID, and explicitly clarifies that monthly figures are period movements not balances. This distinguishes it from sibling tools like brc_get_nom_ac_ledger_by_ids (plural) and brc_list_nominal_accounts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, such as brc_get_nom_ac_ledger_by_ids for multiple IDs or brc_list_nominal_accounts for listing. Usage context must be inferred.
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_batchBInspect
Returns information about a single Nominal Journal Batch by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Nominal Journal Batch id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It only states that the tool 'returns information' but does not mention safety aspects (e.g., read-only nature), authentication requirements, or error behavior. Minimal transparency for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no superfluous words. It efficiently communicates the tool's core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations. The description does not convey what information the response contains (e.g., batch details, fields). It fails to set expectations for the return value, leaving the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 three parameters. The description adds no further meaning beyond the schema, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 Nominal Journal Batch'), and the identifying parameter ('by id'). It distinguishes this tool from sibling tools like 'brc_list_nominal_journal_batches' (list) and 'brc_create_nominal_journal_batch' (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a specific batch ID is known but provides no explicit guidance on when to use this tool versus alternatives (e.g., listing all batches first). No exclusions or context about prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_paymentBInspect
Gets one BRC payment by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Payment id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. 'Gets' implies read-only, but no details about side effects, idempotency, or error handling are provided. The schema parameter descriptions for connectionRef add context, but the description itself adds little beyond the verb.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is concise and front-loaded. It conveys the core purpose without extraneous words, though it could be slightly more structured with optional usage hints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, the description is fairly complete, but it lacks mention of return values or error conditions (e.g., what if id not found). The schema covers parameters, but the description does not address output or failure modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline score is 3. The description does not add any extra meaning beyond what the schema already provides (e.g., 'by id' is already in the schema).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Gets one BRC payment by id' uses a specific verb ('gets') and resource ('BRC payment'), clearly identifying the operation. It distinguishes from list_payments (multiple) and other get_* tools for different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives like brc_list_payments or brc_get_purchase. The description does not indicate prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_prepaymentAInspect
Returns information about a single parent Prepayment by id. Child prepayments are not exposed by the public API.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Parent prepayment id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that child prepayments are not exposed, which is helpful. However, with no annotations, it omits other behavioral traits like that it's read-only, no side effects, or error handling. Basic but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 14 words that is front-loaded and contains no fluff. Every word is meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with high schema coverage, the description covers the core function and a notable limitation (child prepayments not exposed). Minor omission: could state it's read-only. Still largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already provides descriptions for all 3 parameters (100% coverage). The description adds no extra value beyond the schema, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns info on a single parent Prepayment by id, distinguishes from sibling tools like brc_list_prepayments and brc_get_payment by focusing on prepayments and noting child prepayments are excluded.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage - use when you need a specific prepayment by id - but no explicit guidance on when not to use or alternatives. Could mention using brc_list_prepayments for multiple prepayments.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_productBInspect
Gets one BRC product by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, side effects, or rate limits. The minimal description offers no value beyond the obvious get operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words, achieving maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While adequate for a simple getter, the description lacks context about return value, the purpose of connectionRef (partially covered in schema), and any prerequisites. It is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters. The description adds no extra meaning beyond what the schema provides, earning the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Gets') and resource ('one BRC product by id'), making it distinct from sibling tools like brc_list_products (list) and brc_create_product (create).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives (e.g., brc_list_products). The description provides no context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_purchaseBInspect
Gets one BRC purchase by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Purchase id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should provide behavioral context like response format or side effects, but it only states the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, no wasted words, directly conveys the essential purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no extra detail on return values; for a retrieval tool, this is insufficient to fully prepare the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no extra meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Gets' and the resource 'one BRC purchase by id', which is specific and distinguishes from list or batch siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternatives mentioned; usage is implied but not guided against other get/list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_quoteBInspect
Gets one BRC quote by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Quote id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, making the description the sole source of behavioral info. It only states 'gets one quote', missing details like whether it is read-only, what happens on missing ID, or any side effects. The connectionRef parameter has a detailed description, but the tool description itself does not address tool-level behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundant words. It is front-loaded and efficiently communicates the core action. No unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and no annotations, the description is too minimal. It fails to mention return format, error handling, or how it relates to siblings like brc_list_quotes. For a simple read tool, more context is needed to help the agent invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters have descriptions. The main description adds no additional meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Gets', resource 'one BRC quote', and method 'by id'. This distinguishes it from siblings like brc_list_quotes (plural) and brc_search_quotes (if exists). It is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives such as brc_list_quotes or brc_get_quote (other variations). No mention of prerequisites (e.g., prior connection) or when it should be avoided. The description lacks any usage context.
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_noteBInspect
Gets one BRC sales credit note by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales credit note id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full transparency burden. It does not disclose what happens if the ID is not found, whether authentication (connectionRef) is required, or any side effects. As a get operation, it is likely read-only, but the description does not confirm this.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is efficient but slightly terse, lacking any additional context that could help the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a simple retrieval with three parameters and no output schema, the description is minimally adequate. However, it does not explain the return value or any prerequisites (e.g., need for valid connectionRef), which would be helpful for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters (id, companyName, connectionRef). The description adds no extra meaning beyond 'by id', so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'gets', the resource 'BRC sales credit note', and the method 'by id'. It distinguishes from sibling tools like brc_list_sales_credit_notes (which lists many) and brc_update_sales_credit_note (which modifies).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a single credit note by ID, but does not explicitly state when to use this tool versus alternatives (e.g., brc_list_sales_credit_notes for multiple records). No exclusionary guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_sales_entryBInspect
Gets one BRC sales entry by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales entry id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only states the basic operation without disclosing any behavioral traits (e.g., read-only, no side effects, error conditions).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise (one sentence), but it under-specifies and lacks important details. Conciseness is good, but completeness suffers.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 3-parameter schema, lack of output schema, and no annotations, the description is too minimal to fully guide an agent. It misses usage context and behavioral expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no additional parameter meaning beyond the schema, but the schema itself is clear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action (Gets) and resource (BRC sales entry) with the method (by id). It differentiates from sibling get tools that target other entities (e.g., get_customer, get_quote).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives like brc_list_sales_entries or other get tools. No mentions of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_sales_invoiceBInspect
Gets one BRC sales invoice by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales invoice id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only says 'gets one...' without disclosing any side effects, permissions, or error conditions. The description is truthful but lacks behavioral context beyond the obvious read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with verb and resource, no wasted words. The description is efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain what the returned invoice contains, but it does not. The description also fails to mention that connectionRef must be reused from a prior connection, though the schema covers it. Incomplete for a single-retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no extra meaning beyond the schema's parameter descriptions. It does not elaborate on id format or companyName usage, relying solely on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (gets), the resource (BRC sales invoice), and the retrieval method (by id). This distinguishes it from sibling tools like brc_list_sales_invoices (list) and brc_batch_sales_invoices (batch).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives (e.g., batch or list tools). No mention of prerequisites, such as needing a valid companyName and connectionRef, or that this is for a single invoice retrieval only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_sales_repBInspect
Gets one BRC sales rep by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales rep id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states the basic action, omitting critical details such as what happens if the ID is not found, whether the operation is read-only, or any side effects. No information about idempotency, rate limits, or required permissions is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. However, it is extremely brief and could add slightly more context without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two required parameters (id, companyName) and one optional (connectionRef), with no output schema. The description does not mention the return format, error handling, or the need for a prior connection setup (despite the schema defining 'connectionRef'). While a simple get operation can be short, additional context would improve usability given the parameter dependencies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all parameters (100% coverage). The description adds no extra meaning beyond the schema. For example, the schema explains 'companyName' as a company context name and 'connectionRef' with usage details, so the description does not improve parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Gets), the resource (BRC sales rep), and the method (by id). It distinguishes from sibling tools like brc_list_sales_reps (list all) and brc_batch_sales_reps (batch), making the specific purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., brc_list_sales_reps for multiple reps, brc_batch_sales_reps for bulk operations). It doesn't mention prerequisites like establishing a connection via brc_confirm_company_connection or when to avoid using it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_get_supplierCInspect
Gets one BRC supplier by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Supplier id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It gives no information about read-only nature, permissions, error cases, or idempotency. A simple get implies read safety, but no explicit traits are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one sentence) but lacks substance. While it is not verbose, it sacrifices informational value for brevity. Ideally, it should include more context without becoming overly long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should at least hint at what data is returned. It does not. Additionally, with many sibling tools, it fails to help the agent select this tool over others. The description is incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for all three parameters (id, companyName, connectionRef). The description adds no extra meaning beyond the schema, so it meets the baseline without additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Gets one BRC supplier by id.' which clearly identifies the action (get) and resource (BRC supplier) and retrieval method (by id). However, it does not distinguish itself from other sibling tools like brc_list_suppliers, missing potential differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives (e.g., brc_list_suppliers for multiple suppliers). The description lacks any context about prerequisites or exclusions.
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_balanceBInspect
Gets a supplier's opening balance.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Supplier item id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose what happens if the supplier is missing, the return format, or any side effects. Simple but insufficient for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence. No wasted words, but could benefit from slightly more context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of financial data and numerous sibling tools, the description lacks context on what the opening balance represents, how it's calculated, and the response structure. No output schema provided to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear field descriptions. The tool description adds no extra meaning beyond what the schema provides, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Gets') and the resource ('supplier's opening balance'). It differentiates from sibling tools like 'get_customer_opening_balance' and list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives (e.g., list_supplier_op_bal_trans). No context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_getting_startedAInspect
Use this whenever the user asks how to start, says start, says getting started, or wants to connect or reconnect companies in Red. Return simple customer-friendly setup steps and example prompts. Do not use for tutorial, webinar, or video how-to questions — use brc_find_help_resources for those. If the user asks what they can do or what permissions they have, call brc_get_deployment_policy instead and state only current permissions — do not list tool names or counts.
| Name | Required | Description | Default |
|---|---|---|---|
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description should carry full burden. It states what the tool returns ('simple customer-friendly setup steps and example prompts') but does not disclose behavioral traits like side effects, rate limits, or whether it modifies state. For a simple informational tool, this is acceptable but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear triggers, return expectations, and exclusions. It is appropriately sized, though slightly verbose with repeated 'do not' instructions. It front-loads the main usage conditions effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature (1 optional param, no output schema), the description adequately covers return value ('setup steps and example prompts') and edge cases. However, it lacks detail on output format or structure, which might be needed for an agent to parse the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter connectionRef, which already explains its opaque nature and reuse requirement. The tool description does not add additional parameter information beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Use this whenever the user asks how to start, says start, says getting started, or wants to connect or reconnect companies in Red.' It also distinguishes from siblings by explicitly stating not to use for tutorial, webinar, or video how-to questions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use conditions (user asks about starting, getting started, connecting companies) and when-not-to-use (tutorials, webinars, etc., directing to brc_find_help_resources). Also handles edge case: if user asks about permissions, directs to brc_get_deployment_policy.
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_reportAInspect
Creates a grouped nominal accounts report from GET /v1/nominalAccounts, grouping by account group/type fields when available. Month 1–Month 12 nominal figures are period movements for each financial month, not balances. Running balance = opening balance + cumulative monthly movements. Do not describe individual monthly movement values as monthly balances. If the user asks for balances over time, calculate them from opening balance plus cumulative movements, or explain that only movements are available.
| Name | Required | Description | Default |
|---|---|---|---|
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully describes the report's output: grouping behavior, interpretation of monthly movements vs balances, and running balance calculation. It discloses the key behavioral traits without omissions, though it could mention if the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with the main purpose in the first sentence and critical usage details following. It avoids fluff, though the usage guidelines are embedded rather than separate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a financial report with monthly movements and running balances, the description provides necessary context. It explains the data semantics and how to handle user requests for balances. Missing details like error conditions or edge cases but overall sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The tool description adds value by explaining the report context but does not enhance the parameter meaning beyond the schema, so a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a grouped nominal accounts report from a specific endpoint, grouping by account group/type. This distinguishes it from sibling tools like brc_list_nominal_accounts (which lists accounts) and brc_multi_company_nom_ac_report (for multiple companies).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains that monthly figures are movements not balances, and provides guidance on how to compute running balances. It tells the agent what not to do (describe as balances) and how to respond to balance queries. However, it does not compare to alternative tools directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_accountsCInspect
Lists BRC accounts.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It fails to mention pagination, filtering, ordering, or the necessity of a companyName and connectionRef. The tool could mutate state (unlikely for a list) but no reassurance is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it is too terse for a tool with 8 parameters and no output schema. It omits crucial details that could be conveyed concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the parameter count (8), no output schema, and no annotations, the description should provide a richer context—such as what a 'BRC account' is, whether it returns a list of objects, or how pagination works. It fails to do so, leaving the agent with insufficient information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (parameters top, page, skip, pageSize, orderBy, filter have descriptions; companyName and connectionRef are described). The description adds no parameter information beyond the schema, and with moderate coverage it does not compensate for missing parameter context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists BRC accounts, with a specific verb and resource. However, it does not differentiate from numerous sibling list tools (e.g., brc_list_customers, brc_list_bank_accounts), leaving the agent to guess what distinguishes 'accounts' from other entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool, what prerequisites exist (e.g., establishing a company connection via brc_confirm_company_connection), or when to prefer alternative list tools. The agent receives no contextual cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_accrualsAInspect
Returns a list of the company's Accruals. Supports optional OData filtering by entryDate. Supports optional ordering by id.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Optional page size. | |
| skip | No | Optional number of records to skip. | |
| filter | No | Optional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-03-01T00:00:00. | |
| orderBy | No | Optional OData order by. Ordering is allowed by id, for example: id desc. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It mentions OData filtering and ordering but does not explicitly state read-only nature, pagination behavior, or rate limits. The 'Returns' phrasing implies no side effects, but more detail would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two sentences, with the most important information (list, filtering, ordering) placed first. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the basic functionality, it lacks details about pagination (top/skip), required connectionRef, or return format. Given the complexity of the tool (6 parameters, many siblings), additional context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 repeats schema info (filter by entryDate, order by id) without adding significant new meaning. No further parameter guidance is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns a list of Accruals, with optional OData filtering and ordering. It effectively distinguishes from sibling tools like brc_get_accrual (single accrual) and 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing accruals with filtering but does not explicitly differentiate from other list tools (e.g., brc_list_customers) or provide when-to-use/not-use guidance. It relies on the tool name for distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_allocated_transactionsAInspect
Returns transactions already allocated from the specified sender book transaction. Use this to review existing allocations before reversing/deleting one. Requires bookTranId.
| Name | Required | Description | Default |
|---|---|---|---|
| bookTranId | Yes | Book transaction id to allocate from, for example 1001. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only states that the tool returns allocated transactions but does not mention if it is read-only, what the response contains, or any potential side effects. This is insufficient for a list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two sentences that effectively front-load the purpose and then provide usage guidance. Every sentence serves a clear purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has three parameters and no output schema. The description covers the primary purpose and usage context but lacks details about the response format, pagination, or what constitutes 'allocated transactions'. This is adequate but leaves gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so a baseline of 3 is warranted. The description adds the note 'Requires bookTranId', but the schema already describes the parameter. No additional semantic value is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns transactions allocated from a specified sender book transaction, using a specific verb and resource. It distinguishes from sibling tools like brc_delete_allocation_resolver by describing the use case for review before modifications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using this tool to review allocations before reversing or deleting them, providing clear context. It also notes the requirement for bookTranId. However, it does not explicitly state when not to use it or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_allocation_resolversAInspect
Returns transactions eligible for allocation from the specified sender book transaction. Use this before updating allocations so the user can see which receiver transactions are available. Requires bookTranId.
| Name | Required | Description | Default |
|---|---|---|---|
| bookTranId | Yes | Book transaction id to allocate from, for example 1001. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It indicates it is a read operation ('Returns transactions') and requires bookTranId, but does not mention auth needs, side effects, or rate limits. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The key information is front-loaded and each sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should clarify the return format. It says 'Returns transactions' but does not specify fields or structure. Adequate for a simple list tool, but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description mentions bookTranId in context but adds no new semantic meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it returns transactions eligible for allocation from a specified book transaction, which is a specific verb+resource. It provides clear purpose but does not explicitly differentiate from the sibling 'brc_list_allocated_transactions', though the distinction can be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use 'before updating allocations' and requires bookTranId, providing clear context and a prerequisite. Does not mention when not to use or name alternatives, but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_analysis_categoriesAInspect
Lists BRC analysis categories. For sales invoice and sales credit note product lines, choose a Sales analysis category that matches the income type. Do not default to a CR/customer category such as CR01 Customer — CR categories are customer control categories, not sales categories. If no clearly correct Sales category stands out, ask the user instead of picking the first plausible-looking one.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavior. It indicates the tool is a list operation, but does not mention whether it is read-only, any side effects, pagination behavior, or other traits. For a read-only list tool, basic transparency is met but additional context would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with the main purpose first, followed by usage rules. It is five sentences long, which is appropriate for the complexity, though some sentences could be slightly trimmed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the essential decision-making context for selecting categories. However, it omits operational details such as how results are returned, pagination, or filtering, making it only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 50% description coverage; parameters like top, page, skip, pageSize lack descriptions. The tool description adds no parameter-level details, so it does not compensate for the gaps. The standard pagination parameters are not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it lists BRC analysis categories and explains that they are used for sales invoice/credit note product lines to choose a Sales category matching income type. It clearly identifies the resource and verb, but does not explicitly differentiate from sibling list tools like brc_list_category_types, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: use for sales invoice/credit note lines, choose Sales category matching income type, avoid defaulting to CR categories, and ask user if uncertain. It clearly states when and how to use the tool, including what not to do.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_audit_logAInspect
Show a record of data changes (create, update, delete, batch, quote close/reopen, emails, etc.) made through this Red MCP server session. Read-only API calls are not logged. Use this as the source of truth for "what did I do today in Red?" style questions. When the user asks what they did "in Red" (or in Big Red Cloud), answer only from Red/BRC activity for the current Red session and for companies currently connected in this session: the Red/BRC audit log, BRC session actions, and connector-visible BRC activity. Never include activity from other MCP sessions, other users, other connections, or companies that are not currently connected (including ones that were disconnected or cleared). For "what did I do today/yesterday/last week in Red", only summarise current-session audit entries for currently connected companies; if older entries exist outside this scope, ignore them completely rather than reporting them. Do not include unrelated Claude chat history such as MCP debugging, Mistral debugging, coding work, or other non-BRC conversations unless the user explicitly asks for broader chat history.
| Name | Required | Description | Default |
|---|---|---|---|
| connectionRef | No | 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. | |
| includeTechnicalDetails | No | Only set this to true if the user asks for technical details. Sensitive values are still redacted. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so the description carries full burden. It discloses that read-only API calls are not logged, what types of actions are logged (create, update, delete, etc.), and the strict session/company scope. However, it does not explicitly state whether the tool is read-only itself (though implied) or mention any side effects, access requirements, or rate limits. Minor gap, but overall informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and contains redundant sentences, such as repeating the session scope multiple times. It is not concise; several sentences could be merged or removed without losing meaning. While structured, the verbosity reduces clarity and efficiency, warranting a lower score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and the tool's complexity, the description is highly complete. It covers what is logged, what is not, session boundaries, handling of older entries, and instructions to avoid including unrelated chat history. This provides the agent with all necessary context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add new meaning beyond the schema's descriptions for 'connectionRef' and 'includeTechnicalDetails'. It restates the schema guidance on connectionRef usage but does not provide additional parameter semantics. Therefore, score remains at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows a record of data changes made through the current Red MCP session, using a specific verb ('Show') and resource ('record of data changes'). It distinguishes from siblings like brc_clear_audit_log by focusing on listing rather than clearing. The scope is precisely defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly directs the agent to use this as the source of truth for 'what did I do today in Red?' questions. It provides clear when-not-to-use guidance, such as excluding activity from other sessions, other users, and disconnected companies. It also tells the agent to ignore unrelated chat history. This is thorough and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_bank_accountsCInspect
Lists BRC bank accounts.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description fails to disclose behavioral traits such as pagination, filtering, or ordering capabilities that are present in the input schema. The description adds no value in explaining how the list operation behaves beyond the bare fact that it lists accounts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence 'Lists BRC bank accounts.' is concise but underspecified. There is no structure or additional detail to aid understanding. It sacrifices informativeness for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters and no output schema or annotations, the tool description omits critical context about pagination, response format, and the nature of 'BRC bank accounts'. It is insufficient for an agent to use the tool effectively without additional knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, meaning half of the parameters lack schema descriptions. The description does not explain any parameters, including those without schema descriptions (e.g., top, page, skip, pageSize). It adds no meaning beyond the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Lists BRC bank accounts' which is a clear verb+resource combination. However, it does not differentiate from sibling tools like brc_list_accounts, which may list a different type of account. The purpose is clear but lacks specificity to distinguish 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance provided on when to use this tool versus alternatives. With many sibling list tools (e.g., brc_list_accounts, brc_list_accruals), the absence of usage context hinders correct tool selection.
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_typesBInspect
Lists BRC book transaction types.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only says 'Lists', implying read-only, but fails to mention pagination, filtering, or ordering capabilities (though the input schema includes parameters for top, skip, page, pageSize, filter, orderBy). The agent cannot tell from the description that results can be paginated or filtered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that communicates the core purpose without wasted words. It is appropriately brief for a straightforward listing operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description is insufficient. It omits essential behavioral context like pagination support, required parameter (companyName), and that this is a safe read operation. A more complete description would aid agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (4 of 8 parameters have descriptions). The description adds no additional meaning beyond what the schema provides. Parameters like top, skip, page, pageSize, filter, orderBy lack schema descriptions and the description does not clarify them, leaving ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action ('Lists') and the resource ('BRC book transaction types'). This is a specific verb+resource combination that clearly distinguishes it from sibling tools, as no other tool in the list has 'book_transaction_types' in its name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives. There is no mention of prerequisites, typical use cases, or when to choose this over other list tools like brc_list_accounts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_cash_paymentsCInspect
Lists BRC cash payments.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It does not mention that it is a read operation, that results are paginated (despite pagination parameters in schema), or any side effects. The description adds negligible behavioral context beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (5 words), which makes it concise. However, it sacrifices necessary detail, so it is not appropriately sized for the tool's complexity. It could be slightly longer to include key usage notes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters including required ones, no output schema, and no annotations, the description is far too sparse. It omits critical information like the need for companyName, pagination, and filtering support. The description is insufficient for an agent to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, meaning half the parameters are already described in the schema. The tool description adds no additional information about any parameter, failing to clarify required fields (companyName) or pagination behavior. It should compensate for the uncovered parameters but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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'), making the purpose understandable. However, it does not differentiate from sibling list tools like brc_list_cash_receipts or brc_list_payments, which is a missed opportunity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor any context about prerequisites or appropriate scenarios. It is a bare statement with no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_cash_receiptsCInspect
Lists BRC cash receipts.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It fails to disclose behavioral traits like pagination behavior, data completeness, or authorization requirements. For a list tool with pagination parameters, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it is too brief to be informative. It earns its place by stating the core purpose, but lacks necessary structure and detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters and no output schema, the description is incomplete. It omits pagination details, filtering, and ordering behavior, leaving the agent without sufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (4 of 8 parameters have descriptions). The description does not clarify the remaining parameters (top, page, skip, pageSize) or explain how they interact. It adds no meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Lists' and the resource 'BRC cash receipts', making the basic purpose unambiguous. However, it does not differentiate from sibling tools like 'brc_list_cash_payments' or 'brc_batch_cash_receipts', which lowers the score slightly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, such as batch tools or single-get tools. There are no context clues about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_category_typesCInspect
Lists BRC category types.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description alone must convey behavior. It merely states the action without disclosing traits like pagination limits, filtering support, or whether it is a read-only operation. The description is too sparse to be informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at five words, which is efficient. However, it sacrifices informativeness for brevity. While not verbose, it fails to provide necessary context, making it less valuable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description is far from complete. It omits return value details, pagination behavior, and integration context, leaving significant gaps for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 50% schema coverage, the description does not compensate for undocumented parameters. It adds no explanation of parameters like 'top,' 'page,' or 'filter.' The schema itself partially describes some parameters, but the tool description contributes nothing, leaving the agent to infer meaning from parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Lists BRC category types,' which clearly identifies the verb and resource. However, among many sibling list tools, it does not differentiate what 'category types' are nor how they differ from other lists like 'product types' or 'analysis categories.' This vagueness reduces clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives. The description omits context such as prerequisites, filtering, or pagination usage, leaving the agent without direction on appropriate invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_company_contextsAInspect
Lists company contexts currently connected in this MCP server session. Use this when the user asks which companies are connected, how long the connection lasts, how much time is left, when companies disconnect, when the session expires, or what timezone the expiry is in. Present the result to the user with the customerMessage text, company names, and expiryMessage when connected. Answer duration and time-left questions using connectionDurationText, timeRemainingText, expiryTimeWithTimezoneText, expiryTimezoneName, expiryTimezoneAbbreviation, expiryUtcOffset, and expiryMessage from the response — do not say you do not know the current time or that you lack a live clock when timeRemainingText is present. Do not ask the user to check their device clock. Do not say local time on its own. Do not show connectionRef, activeConnectionRef, redconn_ values, session IDs, or diagnostic metadata to normal users. Do not show raw ISO expiresAt or credentialType to normal users unless they specifically ask or dev mode is enabled. Connection credentials are never returned. If you have connectionRef from brc_confirm_company_connection, pass it silently on this call when the MCP client rotates session ids. An empty list with a working connectionRef means no companies are bound yet — not a reason to start a new connection if other tools already succeeded with the same connectionRef.
| Name | Required | Description | Default |
|---|---|---|---|
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses important behaviors: that credentials are never returned, how to handle empty lists with connectionRef, and what fields to present. It could mention idempotency or side effects but is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but well-structured with front-loaded purpose. Some instructional content (e.g., what not to show) could be streamlined, but each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description compensates by detailing the expected response fields (customerMessage, company names, expiryMessage, etc.) and handling edge cases (empty list with connectionRef). It fully covers the tool's context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3). The description adds value beyond the schema by explaining when and how to pass connectionRef silently and that it comes from brc_confirm_company_connection, aiding correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists company contexts connected in the session, with a specific verb and resource. It distinguishes from sibling list tools by focusing on connection/session state, not business data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly enumerates user questions that trigger this tool (e.g., connected companies, duration, time left). While it lacks explicit alternatives or when-not-to-use, the context is comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_company_settingsCInspect
Lists BRC company settings.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must disclose behavior. It fails to mention that this is a read-only operation, requires a connectionRef from brc_confirm_company_connection, or how pagination works via top, page, skip, pageSize, filter, and orderBy parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no waste. However, it is under-informative for a tool with 8 parameters, missing critical context that would justify its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, no output schema, no annotations), the description is incomplete. It omits essential details about pagination, filtering, required companyName, and the mandatory connectionRef parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, but the description adds no additional meaning to the parameters. It does not explain parameters like top, page, skip, filter, orderBy, pageSize, companyName, or connectionRef beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Lists BRC company settings' uses a specific verb and resource, making the basic purpose clear. However, it does not differentiate from numerous sibling list tools like brc_list_accounts or brc_list_customers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives. For example, it doesn't clarify what qualifies as 'company settings' or how it differs from brc_get_company_options or brc_get_company_processing_settings.
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_transCInspect
Gets a customer's account transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Customer item id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states a get operation but does not disclose behavioral traits such as read-only nature, idempotency, pagination, or potential return format. The connectionRef parameter has a detailed note in the schema, but the description itself is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no fluff. It could be slightly more descriptive without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and numerous siblings, the description is too minimal. It lacks context about what 'account transactions' includes, how the results are structured, and how it fits with other list tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters well-described. The description adds no additional meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Gets a customer's account transactions' clearly identifies the verb (gets) and resource (customer account transactions). However, it does not distinguish from the sibling tool 'brc_list_supplier_account_trans' which has an analogous purpose for suppliers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives like 'brc_list_supplier_account_trans' or other list tools. No prerequisites or context (e.g., need for a connectionRef) are mentioned.
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_transCInspect
Gets a customer's opening balance transaction list.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Customer item id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. The word 'gets' implies a read-only operation, but the description does not confirm safety, idempotency, or any other behavioral characteristics such as pagination, ordering, or data limits. This is minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence (6 words) that efficiently conveys the tool's purpose. It is front-loaded with the key information. However, it could be slightly more informative without adding much length, so not a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and the moderate complexity of a list operation, the description is insufficiently complete. It does not explain what the returned list contains (e.g., fields, data structure), whether pagination is supported, or any ordering. The agent may lack critical context to interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all three parameters. The description adds no additional meaning or context beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Gets a customer's opening balance transaction list' clearly states the action (gets) and resource (customer's opening balance transaction list). It is specific and distinct from sibling tools like brc_get_customer_opening_balance (which gets the balance itself) and brc_list_customer_account_trans (which lists general account transactions). However, it does not explicitly differentiate itself from siblings, so it falls 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.
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 like brc_list_customer_account_trans or brc_get_customer_opening_balance. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage solely 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_customer_quotesCInspect
Gets quotes for a specific customer.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Customer item id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It does not state whether this is a read-only operation, any required permissions, or side effects. The description only states the basic action, leaving agents uninformed about invariances or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At one sentence, it is extremely concise, but this brevity omits critical details such as what the tool returns or how to use parameters. Conciseness should not sacrifice informativeness; the description is under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should explain the return value. It does not. Additionally, with 3 parameters and no behavior details, the description is insufficient for an agent to fully understand the tool's usage. Contextual completeness is lacking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a clear description. The tool description adds no additional meaning beyond the schema. However, it is consistent and does not introduce confusion. Baseline score of 3 is appropriate as the schema already conveys the semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Gets quotes for a specific customer' clearly indicates the verb (gets) and resource (quotes) with a filter (specific customer). It differentiates from sibling tools like brc_list_quotes (all quotes) and brc_get_quote (single quote by ID), but could be more specific about whether it lists all quotes for that customer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives like brc_list_quotes or brc_get_quote. There is no mention of prerequisites, when not to use, or context for choosing this tool. The description is silent on usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_customersCInspect
Lists BRC customers.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It only says 'lists customers' without mentioning pagination, read-only nature, or side effects. Schema parameters suggest pagination but description does not elaborate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but severely under-specified for an 8-parameter tool. It lacks critical operational details and feels incomplete rather than efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 params, no output schema, many siblings), the description omits essential context: company requirement, pagination, filtering, sorting, and connection reuse. Highly insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, but the tool description adds no additional meaning to any parameter. Unexplained parameters (top, skip, page, pageSize) remain ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it lists BRC customers (verb + resource). However, it does not differentiate from sibling brc_list_customers_without_dormant, nor mention the required company context, which is essential for clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives like brc_list_customers_without_dormant or brc_get_customer. Missing context on company name requirement.
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_dormantCInspect
Lists BRC customers without dormant records.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It only says 'lists' without mentioning that the operation is read-only, supports pagination via parameters, or requires a valid connectionRef. Important behavioral traits are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 6 words, making it very concise. However, it may be overly minimal given the tool's complexity, but for pure conciseness it scores well. Structure is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks completeness given the 8-parameter input schema and no output schema. It does not mention pagination, filtering, ordering, the required companyName and connectionRef, or how results relate to other tools. The agent is left without sufficient context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (4 of 8 parameters described), but the tool description adds no parameter information beyond what is in the schema. It does not explain the purpose of pagination parameters (top, skip, pageSize) or the role of connectionRef, leaving the agent to rely solely on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Lists' and the resource 'BRC customers without dormant records', directly distinguishing it from the sibling brc_list_customers (which presumably includes dormant records).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 vs alternatives, such as brc_list_customers, nor any prerequisites like requiring a connectionRef or companyName. It fails to inform the agent about selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_nominal_accountsAInspect
Lists BRC nominal accounts. Month 1–Month 12 nominal figures are period movements for each financial month, not balances. Running balance = opening balance + cumulative monthly movements. Do not describe individual monthly movement values as monthly balances. If the user asks for balances over time, calculate them from opening balance plus cumulative movements, or explain that only movements are available.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes on full responsibility. It clearly discloses that the data represents movements and explains how to derive balances, which is key for correct interpretation. It does not cover other behavioral aspects like pagination or error handling, but for a read-only list tool, it adds significant transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph of four sentences, efficiently conveying the purpose, key distinction (movements vs. balances), calculation formula, and usage advice. There is no redundancy, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides essential context about data interpretation but lacks details about the output structure, pagination parameters, or typical use cases for the other parameters. Given no output schema, more information about return fields would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not add any parameter-specific meaning beyond what the input schema provides. Schema coverage is 50%, and while the description could have compensated for undocumented parameters, it focuses on data semantics rather than parameter details. Thus, it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it 'Lists BRC nominal accounts' and clarifies the distinction between monthly movements and balances, making the tool's purpose very clear and distinguishing it from potential misinterpretations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on how to interpret monthly figures as movements, not balances, and advises on how to answer balance-related queries. It does not explicitly mention when not to use the tool or alternatives, but the guidance is strong enough for correct usage.
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_batchesAInspect
Returns a list of the company's Nominal Journal Batches. Supports optional OData filtering by entryDate and ordering by id. Use this before updating or deleting a nominal journal batch so the user can identify the correct id and timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Optional page size. | |
| skip | No | Optional number of records to skip. | |
| filter | No | Optional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-01-01T00:00:00 | |
| orderBy | No | Optional OData order by. Ordering is allowed by id, for example: id desc. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It accurately describes the read-like behavior (list, filter, order, paginate) but does not explicitly state that the tool is read-only or mention any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (two sentences) with no wasted words. The first sentence states purpose and capabilities; the second provides usage context. Front-loaded effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, yet the description does not specify return fields or structure. For a list tool, this is a minor gap; the agent might infer from schema, but completeness would be improved by mentioning key returned fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description reiterates filtering by entryDate and ordering by id, which are already documented in the schema. No additional parameter semantics are added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Returns a list of'), the resource ('Nominal Journal Batches'), and adds capabilities like filtering by entryDate and ordering by id. It distinguishes from sibling list 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises using this tool before update or delete operations to identify the correct id and timestamp. This provides clear context, though it does not explicitly mention when not to use it or list alternatives.
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_groupsCInspect
Lists BRC owner type groups.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose behavioral traits like read-only nature, pagination, or side effects. It offers none, leaving the agent uninformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence, but it is too sparse and lacks structure. It does not front-load critical information or earn its place with meaningful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool complexity (8 parameters, no output schema, no annotations), the description is completely inadequate. It fails to explain owner type groups, pagination, filtering, or connection management.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning beyond the input schema. Despite schema_description_coverage of 50%, the tool has 8 parameters, and the description does not explain how to use them or what they affect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Lists' and the resource 'BRC owner type groups', but it does not differentiate from sibling tools like brc_list_owner_types, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives. There is no mention of prerequisites, 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_owner_typesCInspect
Lists BRC owner types.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'lists' without mentioning pagination, filtering, read-only nature, or any other behavioral traits, leaving the agent underinformed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence) with no extraneous words. However, it could benefit from a slightly more structured approach to improve clarity, but it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description is insufficient. It does not explain the concept of owner types, pagination behavior, or expected output, leaving the agent without enough context to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%, but the description adds no parameter information. The schema itself documents some parameters, but the description does not clarify the meaning of parameters like top, page, skip, or pageSize beyond what the schema provides, failing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 owner types', clearly indicating the tool's function. It distinguishes itself from sibling list tools by being specific to owner types, though it does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, nor does it mention prerequisites or context for use. This is a significant gap for a tool with many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_paymentsDInspect
Lists BRC payments.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must convey behavior. It only states the basic action, omitting details like pagination, filtering, ordering, authentication requirements, or side effects. The schema hints at these but description does not expose them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise but at the expense of completeness. The single sentence fails to provide essential guidance, making it under-specified rather than efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, many sibling tools, no output schema), the description is grossly incomplete. It does not clarify the payment list scope, pagination behavior, or relationship to other payment tools, leaving the agent to rely entirely on parameter names.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (4/8 params have descriptions). The description adds no parameter information beyond the schema. Undocumented parameters like top, page, skip, pageSize lack semantic explanation, forcing the agent to infer from names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Lists BRC payments' is a tautology that barely adds value over the tool name. It does not specify the scope or type of payments listed, nor differentiate from sibling tools like brc_batch_payments or brc_get_payment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives (e.g., brc_get_payment for a single payment, brc_batch_payments for bulk operations). No context about prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_prepaymentsBInspect
Returns a list of the company's Prepayments. Supports optional OData filtering by entryDate. Supports optional ordering by id.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Optional page size. | |
| skip | No | Optional number of records to skip. | |
| filter | No | Optional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-03-01T00:00:00. | |
| orderBy | No | Optional OData order by. Ordering is allowed by id, for example: id desc. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the return type (list) and supported filtering/ordering, but does not disclose pagination behavior, rate limits, auth requirements, or other traits. This is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It efficiently communicates the core purpose and key optional features, fitting the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (6 parameters, no output schema, no annotations), the description covers the main purpose and supported options. It lacks details on pagination defaults or result format, but the schema provides sufficient parameter documentation, making the description reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. The description adds value by reinforcing that filter applies to entryDate and orderBy to id, but does not explain top, skip, companyName, or connectionRef. It provides marginal added meaning beyond the schema, warranting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns a list of the company's Prepayments with a specific verb and resource. It distinguishes from sibling tools like brc_get_prepayment (singular) but does not explicitly differentiate from other list tools beyond the resource name, so it is clear but could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions optional OData filtering by entryDate and optional ordering by id, which provides implicit usage context. However, it does not provide explicit guidance on when to use this tool vs alternatives (e.g., brc_get_prepayment for single records) 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_productsCInspect
Lists BRC products.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure but only says 'Lists BRC products.' It fails to mention pagination behavior, filtering capabilities, whether dormant products are included, or the response format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it extremely concise and front-loaded. No unnecessary words or repetition, though it could benefit from structuring to include key behavioral notes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description is severely incomplete. It omits information about pagination (page, pageSize, top, skip), filtering, ordering, and the purpose of parameters like connectionRef, which are critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (4 of 8 params documented). The description adds zero parameter information, failing to compensate for the low coverage as required. It does not explain any parameter usage beyond what's in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Lists BRC products', identifying the verb and resource. However, it does not distinguish this tool from the similar sibling 'brc_list_products_without_dormant', missing an opportunity for differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives like 'brc_list_products_without_dormant' or other list tools. The description offers no usage context, prerequisites, 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_products_without_dormantCInspect
Lists BRC products without dormant records.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as pagination, rate limits, idempotency, or any side effects. The agent is left uninformed about how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it is too sparse, sacrificing necessary detail for brevity. It is acceptable but not exemplary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description is severely incomplete. It fails to explain the filter condition, pagination behavior, or how to use the parameters effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 50% schema description coverage, the description adds no meaning to the parameters. It does not explain the filter condition 'without dormant' in terms of parameters or provide context for the pagination fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'lists' and the resource 'BRC products', and adds a filter condition 'without dormant records'. This distinguishes it from brc_list_products, though it does not explicitly name the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like brc_list_products or other list tools. The description implies a purpose but lacks explicit usage instructions 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_product_typesCInspect
Lists BRC product types.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It only states it lists product types, omitting details about pagination, filtering, ordering, or required parameters like companyName. For a tool with 8 parameters, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is overly terse. While concise, it sacrifices useful detail. It is a single sentence that merely restates the tool's name, failing to front-load any additional value. Every sentence should earn its place; this one doesn't.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 8 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain return values, pagination behavior, or the necessity of companyName. A more complete description would cover these aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (4 of 8 parameters have descriptions). The description adds no explanation for any parameter, leaving the agent to rely solely on the schema. The schema's parameter descriptions are minimal, and the description does not compensate for the missing ones.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Lists BRC product types,' which clearly identifies the action (list) and resource (product types). However, it does not distinguish this tool from similar sibling tools like brc_list_products or brc_list_products_without_dormant, missing an opportunity to clarify differences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives. Sibling tools imply different resource scopes, but the description offers no context on when to pick product types over products or other lists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_purchasesCInspect
Lists BRC purchases.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It only says 'lists,' omitting that it likely returns a paginated list (as inferred from schema parameters), that it is read-only, or any authentication or data-consistency implications. This under-description hinders correct tool invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) but lacks structure or front-loading of key information. Important details are absent, making it under-informative rather than efficiently compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, many sibling tools, no output schema), the description is severely incomplete. It does not explain return values, pagination, filtering, or connection handling, leaving the agent with insufficient context to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning beyond the input schema. With 50% schema description coverage, several parameters (e.g., top, page, skip) lack documentation in both schema and description. The description fails to explain how parameters like filter or orderBy work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Lists BRC purchases,' which is a clear verb+resource combination. However, it does not differentiate this tool from many sibling list tools (e.g., brc_list_sales, brc_list_payments) or the batch variant brc_batch_purchases, making it ambiguous for an agent to choose the correct tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives like brc_get_purchase or brc_batch_purchases. There is no mention of prerequisites, filtering capabilities, or context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_quotesCInspect
Lists BRC quotes.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits like pagination, authentication, or read-only nature. It only states the action without any behavioral details, leaving significant gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is not conciseness—it is under-specification. A single sentence that fails to provide necessary context does not earn its place. It should be expanded with key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, no output schema, no annotations), the description is virtually absent. It does not explain return values, pagination behavior, or any usage nuances, making it completely inadequate for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 50% parameter description coverage, meaning 4 params are documented. The description adds no additional meaning to any parameter, failing to compensate for the undocumented ones. For instance, it does not explain the required 'companyName' or pagination parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'lists' and resource 'BRC quotes', providing a basic understanding of the tool's purpose. However, it does not distinguish itself from sibling tools like 'brc_list_customer_quotes' or 'brc_batch_quotes', missing a chance to clarify scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 over alternatives. There is no mention of context, prerequisites, or exclusions, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_salesCInspect
Lists combined BRC sales entries, sales invoices and sales credit notes.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for disclosing behavioral traits. However, it only says 'lists combined' without detailing any side effects, required permissions, rate limits, or how the combination works (union, aggregation, etc.).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, making it concise. However, it is underspecified for a tool with 8 parameters and many siblings; the conciseness comes at the cost of missing critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, no output schema, many siblings), the description fails to explain pagination, filtering, ordering, the meaning of 'combined', or the required connectionRef. It is inadequate for an agent to use the tool effectively without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not reference or explain any of the 8 input parameters. Although the schema covers 50% (e.g., filter, orderBy, companyName, connectionRef have descriptions), the description adds no additional meaning, leaving the agent to infer usage entirely from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool lists combined BRC sales entries, sales invoices, and sales credit notes. This clearly distinguishes it from sibling tools that list each type individually, providing a specific verb and resource scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 the individual list tools (e.g., brc_list_sales_entries). There is no mention of context, prerequisites, or scenarios where the combined list is preferred.
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_notesCInspect
Lists BRC sales credit notes.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description does not disclose behavioral traits such as pagination, filtering, or read-only nature. Since no annotations exist, the description should provide these details but fails to do so.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is extremely concise at one sentence. While it is front-loaded, it is arguably too brief, but efficiency earns a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters and no output schema or annotations, the description is incomplete. It omits essential context like the need for a company connection, pagination behavior, and return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% with some parameters described, but the description adds no additional meaning to the parameters. It does not explain the purpose of parameters like top, page, skip, etc.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Lists BRC sales credit notes' which is a specific verb and resource. However, it does not distinguish from sibling list tools like brc_list_sales_invoices or brc_list_sales_entries, but the naming convention makes it clear enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives such as brc_get_sales_credit_note or brc_batch_sales_credit_notes. No context on prerequisites like establishing a company connection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_sales_entriesCInspect
Lists BRC sales entries.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of behavioral disclosure. It only says 'lists', implying a read operation, but does not explicitly state read-only nature, permissions required, return behavior, or any side effects. This is minimal for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence. It is front-loaded and contains no filler. However, it sacrifices informativeness for brevity, but as a standalone it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and multiple sibling tools, the description is severely incomplete. It does not explain what a sales entry is, how pagination works, what the filter/orderBy parameters do, or how the connectionRef should be used. The tool's complexity demands much more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning beyond the input schema. Schema description coverage is 50%, meaning half the parameters lack descriptions in the schema, yet the description does not compensate by explaining any parameter usage, such as pagination or filtering nuances.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Lists BRC sales entries' clearly states the verb (lists) and resource (BRC sales entries). It distinguishes from sibling list tools by specifying the exact resource type, though it does not differentiate further.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 mention when to use this tool versus alternatives, such as brc_list_sales or brc_list_sales_invoices, nor does it give context about prerequisites 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_invoicesCInspect
Lists BRC sales invoices.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only says 'Lists BRC sales invoices' with no behavioral details. It does not mention pagination, filtering capabilities, read-only nature, authentication requirements, or any side effects. Without annotations, the description fails to disclose important behavioral traits evident from the input schema parameters (e.g., top, page, filter).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (only 2 words) but at the expense of necessary information. It is under-specified and fails to convey critical context that an agent needs to use the tool correctly. Simplicity is not an excuse for incompleteness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (8 parameters, 50% schema coverage, no output schema, many sibling tools), the description is wholly inadequate. It lacks any explanation of pagination, filtering, output format, or prerequisites (e.g., requiring a valid connectionRef from brc_confirm_company_connection). The description does not enable proper tool selection or invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 50% coverage and includes some descriptions for filter, orderBy, companyName, and connectionRef. However, the description adds no additional meaning to parameters like top, page, skip, or pageSize. It does not explain how to use pagination or filtering, leaving the agent without guidance on parameter usage beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Lists' and resource 'BRC sales invoices,' but it does not differentiate from sibling list tools like brc_list_sales_credit_notes or brc_batch_sales_invoices. The purpose is clear but lacks specificity to distinguish among many similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives such as brc_batch_sales_invoices or brc_list_sales. There are no conditions for use, 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_repsCInspect
Lists BRC sales reps.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only says 'Lists BRC sales reps.' It does not disclose pagination, filtering, required companyName, or any behavioral traits like rate limits or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded. However, it is too terse given the complexity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no annotations, the description is insufficient. It omits key details like pagination, filtering, and connection handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, yet the description adds no parameter meaning beyond the schema. It does not explain pagination (top, skip, pageSize), filtering, or the required companyName and connectionRef.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists BRC sales reps. However, it does not distinguish this from sibling tools like brc_list_sales or brc_batch_sales_reps, which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives. Lacks explicit context, prerequisites, 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_supplier_account_transCInspect
Gets a supplier's account transactions.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Supplier item id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the basic function without disclosing read-only status, potential side effects, pagination, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but lacks necessary context for a list tool. It is adequately sized for a simple function but could benefit from more detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and the tool's nature (listing transactions), the description should at least hint at the return format or contents. It does not, leaving the agent without enough context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no additional meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Gets') and the resource ('a supplier's account transactions'). It is distinguishable from sibling tools like 'brc_list_customer_account_trans' by the mention of 'supplier'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, such as customer account transactions or other list tools.
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_transBInspect
Gets a supplier's opening balance transaction list.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | Supplier item id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states that the tool 'Gets' data, but does not mention side effects, authentication needs, rate limits, pagination, or what the return format is. This is inadequate for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff. It is concise and front-loaded. However, it could be slightly more structured to include usage context without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and is one of many list tools, the description is too minimal. It does not explain what fields the list contains, when the tool is appropriate, or how it differs from similar tools. The agent would lack critical context to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a description. The tool description adds no further meaning beyond the schema. According to guidelines, baseline is 3 when coverage is high. There is no added value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Gets a supplier's opening balance transaction list' uses a specific verb (Gets) and clearly identifies the resource (supplier's opening balance transaction list). It distinguishes from sibling tools like brc_list_supplier_account_trans (which likely lists all transactions) and brc_get_supplier_opening_balance (which probably gets the balance amount).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like brc_list_supplier_account_trans. The description does not specify prerequisites, context, or when not to use it. The agent receives no help in differentiating usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_suppliersCInspect
Lists BRC suppliers.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, and the description fails to disclose any behavioral traits. It does not mention that this is likely a read-only, paginated operation, nor does it note potential performance implications or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but fails to convey useful information beyond the tool name. It does not 'earn its place' because it adds no value for the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description is grossly incomplete. Essential information about pagination, filtering, and the required connectionRef parameter is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, meaning some parameters lack descriptions. The tool description adds no additional meaning beyond the schema. Key parameters like pagination (top, skip) and filtering (filter, orderBy) are not explained in context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the action ('Lists') and resource ('BRC suppliers'), which is clear but very minimal. It does little to distinguish from sibling list 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.
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 vs alternatives like brc_list_supplier_account_trans or brc_list_suppliers_without_dormant. No context about prerequisites, pagination, or filters is given.
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_fieldsCInspect
Lists BRC user defined fields.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'Lists' without clarifying read-only nature, authentication requirements, pagination behavior, or any side effects. The agent has no insight into what happens during invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence, which is efficient. However, the brevity sacrifices useful details that could fit without bloat. Still, it earns high marks for being front-loaded and minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters and no output schema, the description is too sparse. It fails to explain what user defined fields are, how results are structured, or pagination limits. The tool's complexity demands more context, especially among many sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter information beyond what is in the schema. With only 50% schema coverage, the description should compensate by explaining key parameters like companyName or pagination controls, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists BRC user defined fields, which is specific and unambiguous. However, it does not differentiate from sibling list tools beyond the tool name, missing an opportunity to highlight uniqueness among many similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives. The description lacks context on prerequisites, filtering support, or scenarios where this tool is preferred over other list tools.
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_typesCInspect
Lists BRC VAT analysis types.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states that it lists types, with no mention of read-only behavior, authentication needs, rate limits, or side effects. This is a significant gap for a tool with a mutation-capable sibling set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While the description is extremely concise (one sentence), it is under-specified and omits critical information needed for correct tool usage. The brevity sacrifices usefulness, making it closer to a tautology than a helpful guide.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 companyName, no output schema, and 50% schema description coverage, the description is woefully incomplete. It provides no information on return values, pagination behavior, or the meaning of 'VAT analysis types' in context, leaving the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain any parameter beyond the schema's own descriptions (50% coverage). It adds no context on how fields like 'top', 'page', 'skip', or 'companyName' affect the listing, nor does it clarify that 'connectionRef' must be reused. The schema descriptions for some parameters exist, but the description fails to tie them together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'lists' and the resource 'BRC VAT analysis types', making the purpose understandable. However, it does not differentiate from sibling tools like brc_list_vat_types or brc_list_vat_categories, which list similar entities, so it lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus other list tools, nor any prerequisites or exclusions. The description is minimal and offers no decision-making support for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_vat_categoriesAInspect
Lists BRC VAT categories (for example Sales, Purchases for Resale, Purchases not for Resale). Use this to tell which VAT category a VAT rate belongs to. Sales invoices and sales credit notes must use VAT rates from a Sales VAT category, not a purchase category.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits fully. It correctly implies this is a read-only listing operation but does not mention pagination, filtering, or that results are pageable despite the input schema including pagination parameters. The business rule is helpful but does not cover all behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loads the purpose, provides examples, and includes a critical business rule. No redundant or unnecessary information—every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 8 parameters and no output schema, the description is somewhat incomplete. It covers the core purpose and business rule but omits details about the output structure (e.g., which fields are returned) and does not mention that the tool supports optional pagination or filtering, which are important for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (4 of 8 parameters have descriptions), but the description adds no parameter-specific information. It does not explain how to use pagination (top, page, skip), filtering, or the required companyName parameter beyond what the schema provides. The examples of categories do not aid parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists BRC VAT categories, provides concrete examples (Sales, Purchases for Resale, etc.), and explains the purpose: to determine which VAT category a VAT rate belongs to. It also includes a critical business rule about sales documents, distinguishing it from siblings like brc_list_vat_rates and 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool (to identify VAT categories for rates) and provides a key constraint: sales invoices/credit notes must use Sales VAT categories. However, it does not explicitly mention when not to use it or suggest alternatives like brc_list_vat_rates for rate-specific needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_vat_ratesAInspect
Lists BRC VAT rates. Each rate belongs to a VAT category via vatCategoryId (for example Sales, Purchases for Resale, Purchases not for Resale). For a sales invoice or sales credit note line, use a VAT rate whose vatCategoryId is a Sales VAT category, even if a purchase rate has the same percentage. Cross-reference brc_list_vat_categories to group rates by Sales vs Purchase category before choosing.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as read-only nature, pagination behavior, or any side effects. The implied read-only nature from the name is insufficient, and the description lacks any warnings or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, consisting of three clear sentences. It is front-loaded with the main action and each sentence contributes valuable information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters and no output schema, the description only covers the tool's purpose and basic usage of the returned data. It does not explain parameters like companyName, connectionRef, pagination, or filtering, leaving significant gaps for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not add any meaning beyond the input schema for any of the 8 parameters. With only 50% schema description coverage, the description fails to compensate for parameters like top, skip, pageSize, and filter, which are left unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists VAT rates and explains their relationship to VAT categories via vatCategoryId. It distinguishes itself from sibling tools like brc_list_vat_categories by providing usage context for sales vs purchase categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs the agent to use a VAT rate with a Sales vatCategoryId for sales invoices/credit notes, even if a purchase rate has the same percentage. It also recommends cross-referencing brc_list_vat_categories to properly group rates before selecting one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_list_vat_typesCInspect
Lists BRC VAT types.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | ||
| page | No | ||
| skip | No | ||
| filter | No | Optional OData $filter expression, only if this endpoint supports filtering. | |
| orderBy | No | Optional OData $orderby expression, only if this endpoint supports ordering. | |
| pageSize | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose behavior. It simply says 'Lists' without mentioning pagination, filtering, required parameters, or side effects. The presence of 8 parameters suggests complexity not addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but at the expense of substance. Important details about pagination, filtering, or returned data are omitted, making it less useful than a slightly longer but informative description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters (1 required) and no output schema, the description is severely lacking. It provides no information about input semantics, expected output format, or error conditions, leaving agents underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, and the description adds no value beyond repeating the tool's function. It does not explain how parameters like top, page, filter, or companyName affect results, so agents get no help from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Lists BRC VAT types', which is a clear verb and resource. While it distinguishes from sibling tools like brc_list_vat_rates, it lacks any additional context such as scope or format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus alternatives like brc_list_vat_categories or brc_list_vat_analysis_types. There are no exclusions or context cues for appropriate use.
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_reportAInspect
Creates a grouped nominal accounts report for multiple companies using GET /v1/nominalAccounts for each company. Month 1–Month 12 nominal figures are period movements for each financial month, not balances. Running balance = opening balance + cumulative monthly movements. Do not describe individual monthly movement values as monthly balances. If the user asks for balances over time, calculate them from opening balance plus cumulative movements, or explain that only movements are available.
| Name | Required | Description | Default |
|---|---|---|---|
| companyNames | Yes | The company names to report on. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that month values are period movements (not balances), provides the formula for running balance, and instructs on correct language (avoid saying 'monthly balances'). It also mentions the source endpoint. It does not explicitly state the tool is read-only, but the behavior is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, with no wasted words. It front-loads the core action, then explains key behavioral details, and ends with actionable guidance. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (multi-company, monthly movement semantics), no output schema, and full schema coverage, the description adequately covers what the tool does, how the data should be interpreted, and how to handle user queries about balances. It is complete enough for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds substantial value beyond the schema: it explains that connectionRef must be reused from brc_confirm_company_connection and should not be restarted on empty results. This significantly aids correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a grouped nominal accounts report for multiple companies, using a GET endpoint for each company. It distinguishes itself from the likely single-company sibling brc_grouped_nominal_accounts_report by emphasizing multi-company scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description provides guidance on interpreting the month figures and how to handle balance queries, it does not explicitly state when to use this tool over other reporting or data retrieval tools. The usage context is implied but not contrasted with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_open_edu_adminAInspect
Return the protected URL for Red's BRC Edu admin page (webinar resource upload and workbook editor). Use when a Big Red Book / Big Red Cloud staff member asks to open Red's admin page, the BRC Edu admin page, or the webinar resources admin. Returns only the customer-facing protected admin URL — never a shared secret, query parameter, token, or bypass link. Opening the link still requires Microsoft Entra sign-in; only authorised staff can access the page. Does not bypass authentication. Does not require a connected company. Do not invent or append secret query parameters. Do not expose BRC_EDU_ADMIN_UPLOAD_SECRET or any upload secret.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description fully discloses behavior: requires Microsoft Entra sign-in, only authorized staff access, does not bypass auth, no required company. Warns against inventing secret params or exposing secrets, ensuring safe usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured: starts with purpose, then usage conditions, then restrictions. Every sentence adds value, no redundancy, despite length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a zero-param tool with no output schema. Describes return value precisely, covers authentication requirements, security warnings, and when to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so description cannot add parameter meaning. Baseline 4 is appropriate as there is no need for parameter explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Return' and resource 'protected URL for Red's BRC Edu admin page', specifying its purpose for webinar resource upload and workbook editor. It distinguishes from sibling CRUD tools by focusing on admin URL retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly specifies when to use: when staff asks to open Red's admin page or related admin pages. Also provides clear exclusions (no secrets, tokens, bypass) and notes no connected company required, differentiating from other tools.
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_ratesAInspect
Processes VAT rates for VAT categories via POST /v1/vatCategories/vatRates. Requires a full vatCategoryRates array and confirmProcess=true. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| payload | No | Deprecated. Use vatCategoryRates instead of a raw payload object. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| effectiveDate | No | Not a valid standalone payload. Use vatCategoryRates instead. | |
| confirmProcess | No | ||
| vatCategoryRates | No | Full BRC payload array for POST /v1/vatCategories/vatRates, e.g. [{ vatCategoryId: 1, vatRates: [...] }]. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the write behavior: it requires explicit confirmation, previews the payload before writing, and states nothing is written until confirm. It also warns that red shows what will be posted and waits for confirmation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately long but each sentence adds necessary context for the complex workflow. It front-loads the purpose and then systematically explains the confirmation steps. Minor redundancy, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks output schema, so the description should explain return values or error handling. While it covers the confirmation flow well, it doesn't describe what the response contains (e.g., success status, updated rates). This is a gap for a write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (86%), so baseline is 3. The description adds value by explaining the sequential use of confirmWrite (false then true), deprecation of payload, and confirming that vatCategoryRates must be a full array. This goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it processes VAT rates for VAT categories via a specific POST endpoint. It distinguishes from sibling tools by naming the unique resource (vatCategoryRates) and the two-step confirmation flow, which is not present in other batch tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instructions on how to use: requires full vatCategoryRates array and confirmProcess=true. Describes the two-step confirmation process: first call without confirmWrite returns preview, then retry with confirmWrite only after user confirms. Anticipates common mistakes like treating preflight as confirmation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_reopen_quoteAInspect
Reopens a BRC quote. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Quote id. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description details the two-step confirmation process, the preview requirement, and the fact that preflight is not confirmation. Since no annotations are provided, this disclosure is valuable for understanding the tool'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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise with four sentences, but the phrasing 'Red shows what it will post' is somewhat ambiguous. Overall, it is front-loaded and efficient, though could be slightly clearer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks a clear statement of what the tool returns upon success (e.g., a reopened quote object) and does not list prerequisites (e.g., the quote must exist and be closed). Given the absence of an output schema, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameters. The description adds no extra meaning beyond what is in the schema, resulting in no significant additional value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Reopens a BRC quote,' using a specific verb and resource. It distinguishes itself from siblings like brc_close_quote, brc_delete_quote, and brc_update_quote, as reopening is a unique operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the confirmation flow for the confirmWrite parameter but does not explicitly state when to use this tool over alternatives (e.g., when a quote is closed). The usage context is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_send_email_statementAInspect
Sends a customer statement email. Supported document type only. Red email sending is available for sales invoices, quotes, and customer statements — not for cash receipts, purchases, payments, bank accounts, customers, suppliers, products, reports, or other document types. If the user asks to email an unsupported document type, say Red cannot email it through the current MCP tools, list the supported types, and stop without preparing an email preview or attempting a workaround. Do not call this tool with confirmSend=true until the user has reviewed a plain-English email preview and explicitly confirmed they want to send it. The email preview must show the recipient email address clearly before asking for send confirmation. If there is no customer email on file and no recipient override, stop and ask for a recipient email address — do not send. Create/post confirmation and email send confirmation are separate steps. If the user provides multiple recipient addresses, ask whether to send one email using BCC or separate individual emails. Only use sendMode='separate' when the user explicitly chooses separate emails. Do not ask about BCC unless the user provides multiple recipients or asks to copy another address.
| Name | Required | Description | Default |
|---|---|---|---|
| sendMode | No | How to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails. | |
| toPeriod | No | Statement period end (ISO date-time, e.g. 2026-05-31T00:00:00). | |
| toAddress | No | Optional single recipient override. If omitted or empty, BRC uses the customer's email address. | |
| customerId | Yes | BRC field: customerId. | |
| fromPeriod | No | Statement period start (ISO date-time, e.g. 2026-01-01T00:00:00). | |
| minBalance | No | Minimum balance threshold for transactions included on the statement. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmSend | No | Must be true only after the user has reviewed the email preview and explicitly confirmed sending. | |
| fromAddress | No | Optional sender address override. | |
| messageBody | No | Optional custom email message body. | |
| toAddresses | No | Optional list of recipients. If more than one is provided, ask the user whether to send one email with BCC or separate individual emails. | |
| bccAddresses | No | Optional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: requires customer email or override, only supports specific document types, requires explicit user confirmation after preview, and handles multi-recipient scenarios without assuming.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy but front-loaded with the core purpose and constraints. Every sentence adds value, though it could be slightly more concise without losing completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 13 parameters, no output schema, and high complexity, the description is thorough: covers supported types, workflow steps (preview, confirm, recipient handling), error responses, and parameter interplay. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds context for confirmSend, sendMode, toAddresses, bccAddresses, and connectionRef, guiding correct usage beyond schema basics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sends a customer statement email, explicitly lists supported document types (sales invoices, quotes, customer statements) and unsupported types, distinguishing it from sibling email tools like brc_send_quote_email and brc_send_sales_invoice_email.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use and when-not-to-use guidance, including what to say for unsupported types, the required preview-and-confirm workflow, instructions for multiple recipients (BCC vs separate), and handling missing email addresses.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_send_quote_emailAInspect
Sends a quote email. Supported document type only. Red email sending is available for sales invoices, quotes, and customer statements — not for cash receipts, purchases, payments, bank accounts, customers, suppliers, products, reports, or other document types. If the user asks to email an unsupported document type, say Red cannot email it through the current MCP tools, list the supported types, and stop without preparing an email preview or attempting a workaround. Do not call this tool with confirmSend=true until the user has reviewed a plain-English email preview and explicitly confirmed they want to send it. The email preview must show the recipient email address clearly before asking for send confirmation. If there is no customer email on file and no recipient override, stop and ask for a recipient email address — do not send. Create/post confirmation and email send confirmation are separate steps. If the user provides multiple recipient addresses, ask whether to send one email using BCC or separate individual emails. Only use sendMode='separate' when the user explicitly chooses separate emails. Do not ask about BCC unless the user provides multiple recipients or asks to copy another address.
| Name | Required | Description | Default |
|---|---|---|---|
| quoteId | Yes | BRC field: quoteId. | |
| sendMode | No | How to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails. | |
| toAddress | No | Optional single recipient override. If omitted or empty, BRC uses the customer's email address. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmSend | No | Must be true only after the user has reviewed the email preview and explicitly confirmed sending. | |
| fromAddress | No | Optional sender address override. | |
| messageBody | No | Optional custom email message body. | |
| toAddresses | No | Optional list of recipients. If more than one is provided, ask the user whether to send one email with BCC or separate individual emails. | |
| bccAddresses | No | Optional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description thoroughly discloses behavioral traits such as the need for user confirmation, email preview, recipient validation, and BCC handling. It also explains the connectionRef parameter's reuse semantics. However, it does not mention response format or error behavior, leaving a minor gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but front-loaded with the core purpose, then logically structures guidance into steps. Every sentence serves a purpose given the complexity. Minor redundancy in listing unsupported types could be trimmed, but overall it is appropriately detailed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the sending workflow extensively but omits any explanation of the tool's return value or response structure. Since there is no output schema, the agent must infer success/failure from context. For a tool with 10 parameters and no output schema, this gap affects completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds significant value by providing contextual usage rules for confirmSend, toAddresses, and sendMode, clarifying when to set each and how to handle multiple recipients. This goes beyond the schema's property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Sends a quote email' and explicitly lists supported and unsupported document types, distinguishing it from sibling tools like brc_send_email_statement and brc_send_sales_invoice_email. The description also provides fallback instructions for unsupported types, reinforcing its specific scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides comprehensive when-to-use and when-not-to-use guidance, including explicit steps for handling unsupported document types, confirmation requirements, email preview, recipient management, and BCC vs separate email modes. This exceeds basic guidance by detailing the entire workflow.
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_emailAInspect
Sends a sales invoice email. Supported document type only. Red email sending is available for sales invoices, quotes, and customer statements — not for cash receipts, purchases, payments, bank accounts, customers, suppliers, products, reports, or other document types. If the user asks to email an unsupported document type, say Red cannot email it through the current MCP tools, list the supported types, and stop without preparing an email preview or attempting a workaround. Do not call this tool with confirmSend=true until the user has reviewed a plain-English email preview and explicitly confirmed they want to send it. The email preview must show the recipient email address clearly before asking for send confirmation. If there is no customer email on file and no recipient override, stop and ask for a recipient email address — do not send. Create/post confirmation and email send confirmation are separate steps. If the user provides multiple recipient addresses, ask whether to send one email using BCC or separate individual emails. Only use sendMode='separate' when the user explicitly chooses separate emails. Do not ask about BCC unless the user provides multiple recipients or asks to copy another address.
| Name | Required | Description | Default |
|---|---|---|---|
| sendMode | No | How to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails. | |
| toAddress | No | Optional single recipient override. If omitted or empty, BRC uses the customer's email address. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmSend | No | Must be true only after the user has reviewed the email preview and explicitly confirmed sending. | |
| fromAddress | No | Optional sender address override. | |
| messageBody | No | Optional custom email message body. | |
| toAddresses | No | Optional list of recipients. If more than one is provided, ask the user whether to send one email with BCC or separate individual emails. | |
| bccAddresses | No | Optional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC. | |
| connectionRef | No | 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. | |
| salesInvoiceId | Yes | BRC field: salesInvoiceId. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behaviors: requires user confirmation before sending, handles missing recipient, manages multiple recipients with BCC, and prohibits calling with confirmSend=true without preview. No annotations, so description fully covers these aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is thorough but verbose, with some repetition (e.g., multiple mentions of user confirmation). It is well-structured front-loading the purpose and restrictions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers essential aspects for an email-sending tool: supported types, confirmation steps, recipient handling, error conditions. Missing info on return values but no output schema needed. Adequately complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds significant context beyond schema descriptions, such as when to use separate mode and the necessity of user confirmation for confirmSend. Slightly redundant but adds value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it sends a sales invoice email, names supported and unsupported document types, and distinguishes itself from sibling tools like brc_send_quote_email and brc_send_email_statement by focusing on sales invoices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use (sales invoice email), when-not-to-use (unsupported types), how to handle unsupported requests (list supported types and stop), and detailed steps for user confirmation, recipient handling, and BCC decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_start_company_connectionAInspect
Starts the secure Red company connection flow and generates a fresh one-time secure Red connection link and confirmation code. Use only when there is no active company connection, no valid connectionRef, the user explicitly asks to connect or reconnect, try again after a failed connection, expired session credentials, or when an old, used, or stale secure connection link no longer works. Do not call this tool when a valid connectionRef from brc_confirm_company_connection is already available and recent tool calls succeeded with it. Do not call this tool because a lookup returned no rows, partial data, or an empty list — that means no matching records, not an expired connection. Do not call this tool after successful company data retrieval unless the user explicitly asks to connect, reconnect, or add more companies. Always call this tool again to generate a new link — never reuse a previous connection link. Returns a one-time connection page URL (no time expiry, but each link works only once). On that page the user can enter a single company or upload a CSV for multiple companies — never in chat. After completing the secure page, the user should return to this chat and provide (copy/paste) the confirmation code shown on the success page. Do not paste an API key into chat.
| Name | Required | Description | Default |
|---|---|---|---|
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses key behaviors: generates one-time link and confirmation code, link works once, no time expiry, user must enter data on page, returns confirmation code. It also warns against reusing links.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat verbose but well-structured and front-loaded with core purpose. Each sentence adds value for correct agent behavior, especially for a complex connection flow. Minor redundancy could be trimmed but justified by critical guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (user-in-the-loop connection), the description covers the entire workflow: what it does, when to use, what the user must do, what the tool returns, and follow-up steps. No output schema, but the return values are adequately described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter 'connectionRef'. The description adds substantial meaning: explains it's opaque, should be reused after successful calls, not an API key, and not to start a new connection on empty lookups. This goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it 'Starts the secure Red company connection flow and generates a fresh one-time secure Red connection link and confirmation code.' The verb 'starts' and resource 'company connection flow' are specific. It distinguishes itself from siblings like brc_confirm_company_connection by being the initiating step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists conditions for use (no active connection, failed connection, etc.) and conditions to avoid (valid connectionRef available, after successful data retrieval). It provides precise anti-patterns like not calling when data is empty.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_accrualAInspect
Updates an existing parent Accrual by id. Use brc_get_accrual first to retrieve the current accrual and timestamp. Child accruals are not exposed by the public API. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed the update.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Parent accrual id. | |
| total | Yes | Accrual total amount. | |
| acCode | Yes | Nominal account code, for example 4000. | |
| procDate | Yes | Processing date, for example 2024-03-15T00:00:00. | |
| entryDate | Yes | Entry date, for example 2024-03-01T00:00:00. | |
| reference | Yes | Accrual reference, for example ACC0001. | |
| timestamp | Yes | Base64 timestamp returned by the accrual, for example K94UQIbL3gg=. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| firstDetail | No | First detail text. | |
| confirmWrite | No | Must be true only after the user explicitly confirms updating this accrual. | |
| secondDetail | No | Second detail text. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides important behavioral context: the update requires a timestamp for optimistic concurrency, the confirmWrite parameter serves as a confirmation gate, and child accruals are not exposed. It does not detail the specific fields that can be updated or the response, but it covers the critical safety aspect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each serving a distinct purpose: stating the action, providing a prerequisite, and giving a critical usage warning. It is front-loaded with the main verb and resource, and no words are wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 12 parameters and no output schema, the description covers the essential workflow (get then update), the confirmation requirement, and a notable limitation (child accruals). It is sufficient for an agent to use the tool correctly, though it could mention the effect of the update or the response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters have descriptions. The description adds context for the 'timestamp' parameter (retrieved from brc_get_accrual) and the 'confirmWrite' parameter (must be true after user confirmation). However, it does not elaborate on other parameters beyond their schema descriptions, so the added value is marginal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Updates' with the specific resource 'existing parent Accrual by id', clearly distinguishing it from create, get, and delete siblings. The mention of 'parent' and 'child accruals are not exposed' further clarifies the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states to use brc_get_accrual first to retrieve current data and timestamp, establishing a prerequisite. It also warns against calling with confirmWrite=true until user confirmation. However, it does not explicitly state when alternative tools like brc_create_accrual should be used, but the 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_update_allocationsAInspect
Creates or updates allocations for a sender book transaction. Use brc_list_allocation_resolvers first to identify eligible receiver transactions. Do not call with confirmWrite=true until the user has reviewed the allocation preview and explicitly confirmed posting. Required fields: bookTranId and allocationResolvers with allocated amounts and receiver book transaction ids.
| Name | Required | Description | Default |
|---|---|---|---|
| bookTranId | Yes | Book transaction id to allocate from, for example 1001. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must be true only after the user explicitly confirms posting the allocation update. | |
| connectionRef | No | 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. | |
| allocationResolvers | Yes | Allocations to create or update. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the creation/update behavior and the confirmWrite constraint, but does not mention idempotency, failure modes, auth requirements, or response format. Adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences concisely state purpose, prerequisite, and critical warning. No redundancy or fluff. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 5 parameters, the description explains the core function and a key constraint, but omits the two-step preview flow (implicitly via confirmWrite) and the return value. For a financial allocation tool, users would benefit from knowing what the preview call returns. Adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. The description adds meaning by highlighting required fields (bookTranId, allocationResolvers) and the confirmWrite usage rule. This goes slightly beyond the schema descriptions, which are already detailed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb phrase 'Creates or updates allocations' and identifies the resource as 'for a sender book transaction'. It clearly distinguishes from sibling tools like brc_list_allocation_resolvers (listing) and brc_delete_allocation_resolver (deletion).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance to use brc_list_allocation_resolvers first and warns not to call with confirmWrite=true until user confirms. It does not list exclusions or alternatives, but the context is clear for this specific operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_bank_accountAInspect
Updates a BRC bank account using merged fields. Before calling this tool, show the user a plain-English summary of the changes and ask for explicit confirmation. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Bank account id. | |
| payload | No | Alias for updates. | |
| updates | No | Fields to merge into the existing record. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description thoroughly explains the two-step confirmation process, including that nothing is written until confirmWrite is true. It also describes the preview behavior and the role of confirmWrite.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is slightly verbose with some redundancy (e.g., 'Red shows what it will post'), but the structure is front-loaded with purpose and then stepwise guidance, making it effective for the complex flow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description fully covers the return behavior (first call returns preview) and the entire confirmation flow, making it complete for a mutation tool with this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds essential behavioral context for confirmWrite, connectionRef, and the payload/updates objects, enhancing meaning beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates a BRC bank account using merged fields. It is distinct from sibling tools like create, delete, or get bank account operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit step-by-step usage: show plain-English summary, call without confirmWrite for preview, then retry with confirmWrite only after user confirmation. It also clarifies when not to set confirmWrite true.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_cash_paymentAInspect
Updates a BRC cash payment using merged fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Cash payment id. | |
| payload | No | Alias for updates. | |
| updates | No | Fields to merge into the existing record. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the two-phase commit behavior: preflight returns confirmation_required and preview, and actual write only occurs with confirmWrite=true after user confirmation. It states "Nothing is written to Big Red Cloud until you confirm," which is crucial safety information. However, it omits details on error handling, idempotency, or what happens on invalid inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise but includes an ambiguous phrase ("Red shows what it will post and waits for confirmation") that may confuse agents. Overall, it is well-structured with actionable guidance, but could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description only mentions the preflight response (confirmation_required and payload preview) but does not describe the full response on success or error. It also does not explain how to construct the payload/updates object, which is a significant gap for an update tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all parameters described. The tool description does not add extra meaning beyond the schema; it focuses on the workflow rather than parameter details. Baseline 3 is appropriate as the schema already provides adequate documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it updates a BRC cash payment using merged fields. The tool name and description unambiguously indicate the action and resource, distinguishing it from sibling tools like create, get, delete, and list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit step-by-step guidance: first call without confirmWrite for a preview, then retry with confirmWrite after user confirmation. It also warns against confirming prematurely ("Passing preflight is not confirmation"). However, it does not compare to alternatives like using the create tool for new payments or the delete tool for removals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_cash_receiptAInspect
Updates a BRC cash receipt using merged fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Cash receipt id. | |
| payload | No | Alias for updates. | |
| updates | No | Fields to merge into the existing record. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully bears the burden of behavioral disclosure. It details the preflight behavior, that nothing is written until confirmWrite is true, and that 'Red shows what it will post and waits for confirmation.' This adequately discloses the tool's mutating but cautious behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main action and then explains the confirmation flow. It is reasonably concise, though the sentence 'Red shows what it will post and waits for confirmation' adds some redundancy. Overall, every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the confirmation flow well and has good parameter semantics, it lacks guidance on what fields can be updated in the payload/updates object. The schema only says 'object,' and the description does not list typical updatable fields (e.g., amount, date), leaving a gap for agents unfamiliar with cash receipts. Given no output schema, return values are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. However, the description adds significant semantic value for the critical confirmWrite parameter, explaining the two-step confirmation process and when to set true/false. This goes beyond the schema's description, elevating the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Updates a BRC cash receipt using merged fields,' specifying the verb and resource. It distinguishes from siblings (create, get, delete) and adds the unique two-phase confirmation flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly outlines the two-step process: first call without confirmWrite to get a preview, then retry with confirmWrite=true only after user confirmation. It warns not to set confirmWrite on the first call and states nothing is written until confirmed, providing clear when-to-use and when-not-to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_customerAInspect
Updates a BRC customer using merged fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Customer id. | |
| payload | No | Alias for updates. | |
| updates | No | Fields to merge into the existing record. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description details the preflight confirmation behavior, including that nothing is written until confirmWrite is true. It does not contradict annotations (none provided) and adds behavioral context beyond a simple 'update' description. However, it could mention more about error states or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loading the purpose, then explaining the workflow in a few sentences without unnecessary words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the two-step workflow and confirmWrite parameter well, but it does not describe the return value of a successful second call (e.g., does it return the updated customer or a success message?). Given no output schema, this omission leaves the agent uncertain about post-confirmation behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter descriptions are already detailed. The description adds workflow context around confirmWrite and 'merged fields', integrating the parameters into a meaningful process, which goes beyond what the schema alone provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Updates a BRC customer using merged fields' which identifies the action and resource. However, it does not explicitly distinguish this tool from other update tools like brc_update_product, so it misses the opportunity to differentiate among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: first call without confirmWrite, show preview, then retry with confirmWrite only after explicit user confirmation. It clearly states the workflow and when to set confirmWrite, which is excellent for agent usage.
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_batchAInspect
Updates an existing Nominal Journal Batch by id. Use brc_get_nominal_journal_batch first to retrieve the current batch, including timestamp and account transaction line timestamps. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed the update.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Nominal Journal Batch id. | |
| total | Yes | ||
| procDate | Yes | Date/time string, for example 2024-01-15T00:00:00. | |
| entryDate | Yes | Date/time string, for example 2024-01-15T00:00:00. | |
| timestamp | Yes | Base64 timestamp for the nominal journal batch. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must be true only after the user explicitly confirms updating this Nominal Journal Batch. | |
| connectionRef | No | 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. | |
| bookTranTypeId | No | Book transaction type id. Nominal Journal Batch is usually 7. | |
| accountTransactions | Yes | Updated nominal journal account transaction lines. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes the two-step workflow (preview then confirm) and the need for timestamps. However, it does not specify the return value or error states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each serving a distinct purpose: action, prerequisite, and warning. No unnecessary words, front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (10 params, no output schema), the description explains the workflow but omits what the tool returns (e.g., success flag, updated batch) and potential error conditions. With no output schema, the description should cover return expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 90% (parameters well-described). The description adds value by explaining the role of confirmWrite and the importance of timestamps from the getter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (updates), the resource (existing Nominal Journal Batch), and the identifier (by id). This distinguishes it from create and delete siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to first retrieve the batch using brc_get_nominal_journal_batch and to set confirmWrite=true only after user confirmation. Provides clear when-to-use and 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_update_paymentAInspect
Updates a BRC payment using merged fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Payment id. | |
| payload | No | Alias for updates. | |
| updates | No | Fields to merge into the existing record. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Fully discloses the two-phase behavior (preflight preview, then write on confirmation), including that nothing is written until confirmWrite=true and that passing 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is thorough but slightly verbose; however, every sentence serves a purpose and it is well-structured, starting with the core action then detailing the workflow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, it adequately describes the return of confirmation_required and payload preview, and the write-on-confirm behavior. Minor gap: does not specify error handling or other possible return fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds significant context beyond the schema: explains confirmWrite's role in confirmation flow, connectionRef's reuse requirements, and payload/updates as merge fields. Schema coverage is 100% but description enriches understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Updates a BRC payment using merged fields' and distinguishes it from sibling tools by detailing the two-step confirmation process specific to this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instructions: first call without confirmWrite returns a preview; retry with confirmWrite only after user confirmation; warns not to set confirmWrite on first call. Clearly differentiates when to use each step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_prepaymentAInspect
Updates an existing parent Prepayment by id. Use brc_get_prepayment first to retrieve the current prepayment and timestamp. Child prepayments are not exposed by the public API. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed the update.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Parent prepayment id. | |
| total | Yes | Prepayment total amount. | |
| acCode | Yes | Nominal account code, for example 4000. | |
| procDate | Yes | Processing date, for example 2024-03-15T00:00:00. | |
| entryDate | Yes | Entry date, for example 2024-03-01T00:00:00. | |
| reference | Yes | Prepayment reference, for example PRE0001. | |
| timestamp | Yes | Base64 timestamp returned by the prepayment, for example bgUcQIbL3gg=. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| firstDetail | No | First detail text. | |
| confirmWrite | No | Must be true only after the user explicitly confirms updating this prepayment. | |
| secondDetail | No | Second detail text. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description discloses workflow requirements (get first, confirm), scope (parent only), and confirmation flag behavior. Lacks details on permissions or side effects, but adequately captures key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is two sentences, front-loaded with purpose, then usage guidance and constraint. Every sentence adds value, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 12 parameters and no output schema, the description covers the essential workflow (retrieve first, confirm flag) and scope. Missing details on return values or error scenarios, but schema handles parameter descriptions. Adequate for a complex update tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so schema documents all parameters. Description adds meaning by indicating the workflow: timestamp must come from get, confirmWrite must only be true after explicit confirmation. This adds context beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it updates an existing parent Prepayment by id, and distinguishes from siblings by specifying 'parent' and noting child prepayments are not exposed. Verb 'Updates' and resource 'parent Prepayment' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to call brc_get_prepayment first to retrieve the current prepayment and timestamp, and warns not to call with confirmWrite=true until user explicitly confirms. Does not explicitly state when not to use, but implies scope (parent only).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_productAInspect
Updates a BRC product using merged fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Product id. | |
| payload | No | Alias for updates. | |
| updates | No | Fields to merge into the existing record. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description fully bears the transparency burden. It details the two-step confirmation process, states nothing is written until confirmWrite is true, and clarifies that preflight is not confirmation. It could mention side effects or error responses, but is fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: one states purpose, two explain the confirmation flow. Some phrasing ('Red shows what it will post') is slightly unclear, but overall efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 params, nested objects, no output schema), the description covers the critical confirmation workflow but lacks return value information, error handling, or preview format details. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds little beyond the schema, mainly explaining the confirmWrite workflow. It mentions 'merged fields' but doesn't elaborate on payload versus updates. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it updates a BRC product using merged fields, establishing a specific verb and resource. However, it does not differentiate from sibling tools like brc_create_product or other update tools, missing a chance to clarify its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit steps: call without confirmWrite first to get a preview, then confirm with user before retrying. It also warns not to set confirmWrite on the first call. While it lacks explicit when-not-to-use or alternatives, the procedure is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_purchaseAInspect
Updates a BRC purchase using structured MCP fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Purchase id. | |
| note | No | ||
| acCode | No | ||
| procDate | No | ||
| entryDate | No | ||
| netAmount | No | ||
| vatRateId | No | ||
| supplierId | No | ||
| accountCode | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| description | No | ||
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. | |
| vatPercentage | No | ||
| bookTranTypeId | No | ||
| analysisCategoryId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains the confirmWrite preflight behavior, that nothing is written until confirmed, and gives a preview. This is transparent about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with about 4 sentences, front-loading the purpose and then the workflow. Could be more structured, but no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description focuses on the confirmation workflow but does not cover return values or structure after successful update. With 16 parameters and no output schema, more detail on response and parameter interactions would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25%, and the tool description does not add meaning to the majority of parameters. Only confirmWrite and connectionRef have some context from schema. Other parameters like note, acCode, procDate are left unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool updates a BRC purchase. Distinguishes from sibling update tools by specifying the resource. The description includes the workflow for confirmWrite, adding clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs the two-step process: first call without confirmWrite to get preview, then with confirmWrite after user confirmation. Lacks explicit when-not-to-use or alternatives, but the workflow guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_quoteAInspect
Updates a BRC quote using structured safe text/reference fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Quote id. | |
| note | No | ||
| reference | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the two-step write behavior, including that nothing is written until confirmWrite is true and user confirms. It mentions the preview payload and that the tool 'waits for confirmation'. However, it does not explicitly state whether the update is destructive or what happens to existing fields not mentioned. For a tool with no annotations, this is good but not fully exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using three sentences to convey the tool's purpose and the critical two-step process. It is front-loaded with the primary function and then details the confirmation flow. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (update tool with two-step write and no output schema), the description covers the main flow: preview, user confirmation, and final write. It mentions what the first call returns (confirmation_required and payload preview). However, it does not describe the success response format or prerequisites like quote existence. Still, it is largely complete for the intended use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (4 of 6 parameters have descriptions). The description adds significant context for the confirmWrite parameter, explaining its role in the preflight-confirmation process beyond the schema's description. For the other parameters, the schema descriptions suffice, but the overall understanding is enhanced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 quote'. It distinguishes from sibling tools like brc_create_quote and brc_close_quote by specifying that it updates existing quotes. The mention of 'structured safe text/reference fields' further clarifies the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit step-by-step guidance: first call without confirmWrite to get a preview, then retry with confirmWrite only after user confirmation. It warns against setting confirmWrite on the first call and clarifies that passing preflight is not confirmation. This effectively tells the agent when and how to use the tool.
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_noteAInspect
Updates a BRC sales credit note using structured safe text/reference fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales credit note id. | |
| note | No | ||
| reference | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals the preflight/confirm pattern and emphasizes that nothing is written until confirmWrite is true. Without annotations, it carries the full burden; it does not mention permissions or irreversibility, but the confirmation pattern mitigates that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy but each sentence adds value, especially the clear instructions on the confirmation flow. It could be slightly more concise without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the unique confirmation workflow and connectionRef usage, but does not describe the return format or error scenarios. Given no output schema, some additional behavioral detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%. The description adds valuable context for confirmWrite and connectionRef, but provides no additional details for note and reference, which lack schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it updates a BRC sales credit note, which distinguishes it from sibling tools like create, get, delete, and batch operations on 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains the two-step confirmation workflow: first call without confirmWrite to get a preview, then retry with confirmWrite true only after user confirmation. It warns that preflight is not confirmation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_sales_entryAInspect
Updates a BRC sales entry using structured safe text/reference fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales entry id. | |
| note | No | Optional. 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. | |
| reference | No | Optional. 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral transparency. It discloses the write operation and the two-phase commit process, including that nothing is written until confirmation. However, it omits details on error handling or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient paragraph that front-loads the purpose and then explains the workflow. Every sentence is meaningful, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's two-phase commit complexity and no output schema, the description adequately covers the workflow. It explains how to get a preview and confirm. It could be more complete by describing the return value structure, but it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not add significant meaning beyond what the schema provides. It mentions 'structured safe text/reference fields' but doesn't elaborate on specific parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates a BRC sales entry using safe text/reference fields. It distinguishes itself from sibling update tools by detailing the two-phase commit workflow with confirmWrite, which is unique among the sibling tools listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit instructions on when to use confirmWrite: first call without it for a preview, then retry with it after user confirmation. It also warns that passing a preflight is not confirmation, offering clear usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_sales_invoiceAInspect
Updates a BRC sales invoice using structured safe text/reference fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales invoice id. | |
| note | No | Optional. 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. | |
| reference | No | Optional. 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. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the confirmation workflow, that nothing is written until confirmWrite is true, and that the first call returns a preview. The phrase 'safe text/reference fields' implies non-destructive updates. However, it does not explicitly state if updates are reversible or fully describe all side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and then provides structured instructions. It is not overly verbose, though some sentences could be tightened. Every sentence adds value, earning a high conciseness score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and 6 parameters, the description covers the critical workflow (confirmation mechanism) and parameter semantics thoroughly. It lacks explicit details about the return value structure beyond 'confirmation_required and a payload preview', and does not mention prerequisites like existence of the invoice, but the schema implies id is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. The description adds significant context beyond the schema: it explains the two-step confirmWrite usage, provides additional constraints on note (e.g., default to customer name, not product name), and clarifies connectionRef reuse. This greatly enhances parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Updates a BRC sales invoice using structured safe text/reference fields', which identifies the verb and resource. It distinguishes from sibling update tools by mentioning the safe text/reference fields and the confirmation workflow, though it could be more explicit about which fields are updated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit step-by-step usage guidelines: first call without confirmWrite to get a preview, then after user confirmation retry with confirmWrite: true. It even clarifies that a preflight response is not confirmation and warns against setting confirmWrite on the first call. This is excellent guidance for safe invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_sales_repAInspect
Updates a BRC sales rep using structured MCP fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Sales rep id. | |
| code | No | ||
| name | No | ||
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses the confirmation workflow and that the tool returns a payload preview. However, it does not fully describe side effects, idempotency, or what happens on success/failure. No annotations are provided, so the description carries the full burden but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is mostly concise, with two sentences that cover purpose and usage. However, the phrase 'Red shows what it will post and waits for confirmation' is unclear and slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately covers the confirmation workflow but lacks details on the success response when confirmWrite is true, error handling, and prerequisites like connection setup. No output schema exists, so the description should fill more gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, but the description adds no additional meaning beyond the schema for any parameter. It does not cover the two parameters (code, name) that lack schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool updates a BRC sales rep using structured MCP fields. The verb 'Updates' and resource 'sales rep' are explicit. However, it does not differentiate from sibling update 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit instructions on the two-step confirmation process: first call without confirmWrite, then retry with confirmWrite only after explicit user confirmation. It warns against setting confirmWrite on the first call and clarifies that preflight is not confirmation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brc_update_supplierAInspect
Updates a BRC supplier using merged fields. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Supplier id. | |
| payload | No | Alias for updates. | |
| updates | No | Fields to merge into the existing record. | |
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| confirmWrite | No | Must 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. | |
| connectionRef | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Fully explains the tool's behavior beyond annotations (none provided): it returns a preview and requires explicit confirmation before writing. The description discloses the confirmation mechanism, which is critical for safe execution.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise (three sentences) and front-loads the purpose. However, some phrasing like 'Red shows what it will post' is slightly ambiguous and could be clearer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description mentions the preview response but lacks details on error states or post-confirmation behavior. The complexity of nested objects (updates/payload) is not addressed beyond schema. More completeness could be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal parameter-specific context. While confirmWrite's role is elaborated, the description doesn't explain 'merged fields' or the structure of updates/payload beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Updates a BRC supplier' with the verb and resource. It distinguishes from sibling tools by mentioning 'merged fields' and the confirmation flow, though 'merged fields' could be more precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes a two-step process: first call without confirmWrite for preview, then retry with confirmWrite only after user confirmation. Warns 'Passing preflight is not confirmation,' providing clear when-to-use and 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_validate_transaction_dateBInspect
Checks whether a proposed transaction date is inside the connected BRC company's current financial year.
| Name | Required | Description | Default |
|---|---|---|---|
| companyName | Yes | Company context name, for example YOUR-COMPANY-NAME. | |
| connectionRef | No | 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. | |
| transactionDate | Yes | Date to validate in YYYY-MM-DD format. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. Only says 'checks' without specifying side effects, idempotency, or return format. Insufficient for a mutation-free tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, efficient and front-loaded. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Low complexity tool but no output schema and description omits return value or error conditions. Not complete enough for an agent to understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds no new meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states it checks a transaction date against the company's current financial year. Clear verb-resource-scope, distinguishes from sibling CRUD tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use or when not to use this tool. Does not mention prerequisites (e.g., need an active company connection) or alternatives like brc_get_financial_year.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityBmaintenanceHosted MCP server for Exact Online. Ask questions, pull reports, and prepare bookings you approve first.Last updatedMIT
- Alicense-qualityCmaintenanceEnables interaction with Bigcapital accounting through MCP, providing tools for customers, vendors, invoices, payments, reports, and more via an unofficial API wrapper.Last updatedAGPL 3.0
- Flicense-qualityDmaintenanceProvides double-entry accounting ledger creation, transaction recording, and financial reporting capabilities via MCP.Last updated
- Alicense-qualityBmaintenanceMCP 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.Last updated963MIT
Your Connectors
Sign in to create a connector for this server.