Red MCP
An open-source MCP server that connects AI assistants to Big Red Cloud accounting data. It provides tools for read-only lookups of customers, suppliers, and products, as well as managing sales quotes, invoices, credit notes, purchases, and payments. It includes safety features like pre-confirm validation, VAT checks, and session audit logs.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://red.bigredcloud.com/mcpWhat its tools do
159 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (81)
brc_get_company_api_key_statusbrc_list_company_contextsbrc_list_accountsbrc_list_customersbrc_get_customerbrc_list_customers_without_dormantbrc_list_suppliersbrc_get_supplierbrc_list_productsbrc_list_product_typesbrc_list_products_without_dormantbrc_list_sales_entriesbrc_get_sales_entrybrc_list_sales_invoicesbrc_get_sales_invoicebrc_list_purchasesbrc_get_purchasebrc_list_analysis_categoriesbrc_list_vat_ratesbrc_list_vat_analysis_typesbrc_list_vat_categoriesbrc_list_vat_typesbrc_list_company_settingsbrc_list_category_typesbrc_list_owner_type_groupsbrc_list_owner_typesbrc_list_user_defined_fieldsbrc_list_book_tran_typesbrc_list_nominal_accountsbrc_get_nominal_account_ledger_by_idbrc_list_quotesbrc_get_quotebrc_list_sales_credit_notesbrc_get_sales_credit_notebrc_list_sales_repsbrc_get_sales_repbrc_get_company_setup_configbrc_get_company_logobrc_get_financial_yearbrc_get_customer_opening_balancebrc_list_customer_op_bal_transbrc_list_customer_account_transbrc_list_customer_quotesbrc_get_supplier_opening_balancebrc_list_supplier_op_bal_transbrc_list_supplier_account_transbrc_get_nom_ac_ledger_by_idsbrc_grouped_nominal_accounts_reportbrc_multi_company_nom_ac_reportbrc_list_cash_paymentsbrc_get_cash_paymentbrc_list_cash_receiptsbrc_get_cash_receiptbrc_list_paymentsbrc_get_paymentbrc_list_bank_accountsbrc_get_bank_accountbrc_get_productbrc_list_salesbrc_get_deployment_policybrc_validate_transaction_datebrc_company_readiness_checkbrc_resolve_book_transaction_typebrc_route_requestbrc_red_helpbrc_find_help_resourcesbrc_get_help_resource_detailsbrc_open_edu_adminbrc_list_audit_logbrc_generate_support_reportbrc_get_company_processing_settingsbrc_get_company_reference_settingsbrc_check_transaction_settingsbrc_list_allocation_resolversbrc_list_allocated_transactionsbrc_list_nominal_journal_batchesbrc_get_nominal_journal_batchbrc_list_accrualsbrc_get_accrualbrc_list_prepaymentsbrc_get_prepayment
Can change data (78)
brc_start_company_connectionbrc_confirm_company_connectionbrc_clear_company_api_keybrc_clear_all_company_api_keysbrc_create_customerbrc_update_customerbrc_delete_customerbrc_create_supplierbrc_update_supplierbrc_delete_supplierbrc_create_purchasebrc_create_purchase_gen_refbrc_update_purchasebrc_delete_purchasebrc_create_sales_entrybrc_update_sales_entrybrc_delete_sales_entrybrc_create_sales_invoicebrc_create_sales_invoice_gen_refbrc_update_sales_invoicebrc_delete_sales_invoicebrc_create_quotebrc_create_quote_gen_refbrc_update_quotebrc_close_quotebrc_reopen_quotebrc_delete_quotebrc_generate_sales_invoice_from_quotebrc_create_sales_credit_notebrc_create_sales_credit_note_gen_refbrc_update_sales_credit_notebrc_delete_sales_credit_notebrc_create_sales_repbrc_update_sales_repbrc_delete_sales_repbrc_create_cash_paymentbrc_update_cash_paymentbrc_delete_cash_paymentbrc_batch_cash_paymentsbrc_create_cash_receiptbrc_update_cash_receiptbrc_delete_cash_receiptbrc_batch_cash_receiptsbrc_create_paymentbrc_update_paymentbrc_delete_paymentbrc_batch_paymentsbrc_create_bank_accountbrc_update_bank_accountbrc_delete_bank_accountbrc_create_productbrc_update_productbrc_delete_productbrc_batch_purchasesbrc_batch_quotesbrc_batch_sales_credit_notesbrc_batch_sales_entriesbrc_batch_sales_invoicesbrc_batch_sales_repsbrc_batch_suppliersbrc_batch_customersbrc_batch_productsbrc_process_vat_category_ratesbrc_clear_audit_logbrc_send_sales_invoice_emailbrc_send_email_statementbrc_send_quote_emailbrc_update_allocationsbrc_delete_allocation_resolverbrc_create_nominal_journal_batchbrc_update_nominal_journal_batchbrc_delete_nominal_journal_batchbrc_create_accrualbrc_update_accrualbrc_delete_accrualbrc_create_prepaymentbrc_update_prepaymentbrc_delete_prepayment
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Perform read-only lookups for customers, suppliers, products, and sales reps
- Manage sales quotes, invoices, credit notes, purchases, and payments
- Validate VAT and transaction safety before posting
- Access official Big Red Cloud help answers from Freshdesk articles
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- Red 1.8.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 159 advertised
- Resources
- 3 advertised
- Resource templates
- 0 advertised
- Prompts
- 3 advertised
{
"tools": {
"listChanged": true
},
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
159 advertised
brc_start_company_connection — Start Company Connection
Starts the secure Red / Big Red Cloud connection flow and returns a one-time connection page URL and confirmation code. The secure page supports one or multiple companies, including CSV upload, and keeps API credentials outside chat. Available without an existing company connection.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Start Company Connection",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}brc_confirm_company_connection — Confirm Company Connection
Confirms a short-lived company-connection code and returns the connected companies plus a reusable opaque connection reference. Connection credentials are not returned.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"minLength": 1,
"description": "The connection code from the secure Red connection page success message."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Confirm Company Connection",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}brc_get_company_api_key_status — Get Company API Key Status
Returns company connection-status metadata without returning API keys or other credentials.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"type": "string",
"minLength": 1,
"description": "Optional company context name. If omitted, summarises all contexts."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Company API Key Status",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_company_contexts — List Company Contexts
Returns connected-company contexts and connection-expiry metadata, including duration, remaining time and timezone details. Connection credentials are not returned.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Company Contexts",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_clear_company_api_key — Clear Company API Key
Clears the API key for a named company context from MCP server memory.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Clear Company API Key",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_clear_all_company_api_keys — Clear All Company API Keys
Clears all connection credentials for all company contexts from MCP server memory.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Clear All Company API Keys",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_list_accounts — List Accounts
Lists BRC accounts.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Accounts",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_customers — List Customers
Lists BRC customers. customerCode uses exact case-sensitive bounded local lookup (10,000 records); BRC forbids customer OData filters.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Unsupported: BRC customers forbid $filter. List with pagination and match locally."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"customerCode": {
"type": "string",
"minLength": 1,
"description": "Exact case-sensitive code; bounded local filtering, no fuzzy match."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Customers",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_customer — Get Customer
Gets one BRC customer by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Customer id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Customer",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_customers_without_dormant — List Active Customers
Lists BRC customers without dormant records.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Active Customers",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_suppliers — List Suppliers
Lists BRC suppliers.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Suppliers",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_supplier — Get Supplier
Gets one BRC supplier by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Supplier id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Supplier",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_products — List Products
Lists BRC products.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Products",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_product_types — List Product Types
Lists BRC product types.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Product Types",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_products_without_dormant — List Active Products
Lists BRC products without dormant records.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Active Products",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_sales_entries — List Sales Entries
Lists BRC sales entries.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Sales Entries",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_sales_entry — Get Sales Entry
Gets one BRC sales entry by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales entry id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Sales Entry",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_sales_invoices — List Sales Invoices
Lists BRC sales invoices.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Sales Invoices",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_sales_invoice — Get Sales Invoice
Gets one BRC sales invoice by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales invoice id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Sales Invoice",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_purchases — List Purchases
Lists BRC purchases.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Purchases",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_purchase — Get Purchase
Gets one BRC purchase by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Purchase id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Purchase",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_analysis_categories — List Analysis Categories
Returns company analysis categories and their book context. Customer-control categories are distinct from Sales analysis categories.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Analysis Categories",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_vat_rates — List VAT Rates
Returns company VAT rates and their associated category identifiers.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List VAT Rates",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_vat_analysis_types — List VAT Analysis Types
Lists BRC VAT analysis types.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List VAT Analysis Types",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_vat_categories — List VAT Categories
Returns company VAT categories and their Sales or Purchase context.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List VAT Categories",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_vat_types — List VAT Types
Lists BRC VAT types.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List VAT Types",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_company_settings — List Company Settings
Lists BRC company settings.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Company Settings",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_category_types — List Category Types
Lists BRC category types.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Category Types",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_owner_type_groups — List Owner Type Groups
Lists BRC owner type groups.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Owner Type Groups",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_owner_types — List Owner Types
Lists BRC owner types.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Owner Types",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_user_defined_fields — List User-Defined Fields
Lists BRC user defined fields.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List User-Defined Fields",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_book_tran_types — List Book Transaction Types
Lists BRC book transaction types.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Book Transaction Types",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_nominal_accounts — List Nominal Accounts
Returns nominal accounts and period movements. Monthly values represent movements rather than monthly balances.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Nominal Accounts",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_nominal_account_ledger_by_id — Get Nominal Account Ledger by ID
Returns one nominal account ledger and its period movements. Monthly values represent movements rather than monthly balances.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Nominal account id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Nominal Account Ledger by ID",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_quotes — List Quotes
Lists BRC quotes. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures. Quote references are not necessarily unique — identify a quote by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Quotes",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_quote — Get Quote
Gets one BRC quote by id. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Quote id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Quote",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_sales_credit_notes — List Sales Credit Notes
Lists BRC sales credit notes.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Sales Credit Notes",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_sales_credit_note — Get Sales Credit Note
Gets one BRC sales credit note by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales credit note id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Sales Credit Note",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_sales_reps — List Sales Representatives
Lists BRC sales reps.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Sales Representatives",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_sales_rep — Get Sales Representative
Gets one BRC sales rep by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales rep id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Sales Representative",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_company_setup_config — Get Company Setup Configuration
Gets full BRC company setup configuration, including general details, financial year, reference settings, and processing options.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Company Setup Configuration",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_company_logo — Get Company Logo
Gets the company logo from BRC.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Company Logo",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_financial_year — Get Financial Year
Gets BRC company financial year.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Financial Year",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_create_customer — Create Customer
Creates a BRC customer from explicit code and name fields. Optional address, contact, credit and VAT fields are omitted when absent. Opening-balance fields are not posted. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"payload",
"routeToken"
],
"properties": {
"payload": {
"type": "object",
"description": "Raw BRC-compatible payload for this endpoint.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"detailedResponse": {
"type": "boolean"
}
}
}{
"title": "Create Customer",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}brc_update_customer — Update Customer
Updates a BRC customer using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Customer id."
},
"payload": {
"type": "object",
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"updates": {
"type": "object",
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Update Customer",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_customer — Delete Customer
Deletes a BRC customer by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "customer id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Customer",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_get_customer_opening_balance — Get Customer Opening Balance
Gets a customer's opening balance.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"itemId"
],
"properties": {
"itemId": {
"type": "string",
"description": "Customer item id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Customer Opening Balance",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_customer_op_bal_trans — List Customer Opening Balance Transactions
Gets a customer's opening balance transaction list.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"itemId"
],
"properties": {
"itemId": {
"type": "string",
"description": "Customer item id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Customer Opening Balance Transactions",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_customer_account_trans — List Customer Account Transactions
Returns customer account transactions. Transaction IDs and types are endpoint- and company-specific.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"itemId"
],
"properties": {
"itemId": {
"type": "string",
"description": "Customer item id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Customer Account Transactions",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_customer_quotes — List Customer Quotes
Gets quotes for a specific customer.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"itemId"
],
"properties": {
"itemId": {
"type": "string",
"description": "Customer item id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Customer Quotes",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_create_supplier — Create Supplier
Creates a BRC supplier using a raw BRC payload. Does not create or update opening balance transactions. Opening-balance fields are not posted by this tool; supplier opening balances are entered directly in Big Red Cloud. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"payload",
"routeToken"
],
"properties": {
"payload": {
"type": "object",
"description": "Raw BRC-compatible payload for this endpoint.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Create Supplier",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}brc_update_supplier — Update Supplier
Updates a BRC supplier using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Supplier id."
},
"payload": {
"type": "object",
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"updates": {
"type": "object",
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Update Supplier",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_supplier — Delete Supplier
Deletes a BRC supplier by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "supplier id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Supplier",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_get_supplier_opening_balance — Get Supplier Opening Balance
Gets a supplier's opening balance.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"itemId"
],
"properties": {
"itemId": {
"type": "string",
"description": "Supplier item id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Supplier Opening Balance",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_supplier_op_bal_trans — List Supplier Opening Balance Transactions
Gets a supplier's opening balance transaction list.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"itemId"
],
"properties": {
"itemId": {
"type": "string",
"description": "Supplier item id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Supplier Opening Balance Transactions",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_supplier_account_trans — List Supplier Account Transactions
Returns supplier account transactions. Transaction IDs and types are endpoint- and company-specific.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"itemId"
],
"properties": {
"itemId": {
"type": "string",
"description": "Supplier item id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Supplier Account Transactions",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_create_purchase — Create Purchase
Creates a purchase with a caller-supplied reference when manual purchase references are configured. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"supplierId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage",
"routeToken"
],
"properties": {
"note": {
"type": "string",
"description": "Purchase note."
},
"acCode": {
"type": "string",
"description": "Supplier account code, for example SUP001."
},
"procDate": {
"type": "string",
"description": "Processing date in ISO format."
},
"entryDate": {
"type": "string",
"description": "Entry date in ISO format."
},
"netAmount": {
"type": "number",
"description": "Net amount before VAT."
},
"reference": {
"type": "string",
"description": "Required when the company is configured for manual purchase references."
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "VAT rate id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"supplierId": {
"type": "string",
"description": "Supplier id, for example 26180406."
},
"accountCode": {
"type": "string",
"description": "Nominal/account code."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"description": {
"type": "string",
"description": "Analysis line description."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"vatPercentage": {
"type": "number",
"description": "VAT percentage."
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Purchase book transaction type id."
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Purchases analysis category id."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Purchase",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_create_purchase_gen_ref — Create Purchase with Generated Reference
Creates a purchase using the company's generated-reference configuration. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"supplierId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage",
"routeToken"
],
"properties": {
"note": {
"type": "string"
},
"acCode": {
"type": "string"
},
"procDate": {
"type": "string"
},
"entryDate": {
"type": "string"
},
"netAmount": {
"type": "number",
"exclusiveMinimum": 0
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"supplierId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"accountCode": {
"type": "string"
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"description": {
"type": "string"
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"vatPercentage": {
"type": "number"
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Purchase with Generated Reference",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_update_purchase — Update Purchase
Updates a BRC purchase using structured MCP fields. Historical transaction dates are not automatically blocked. Existing historical purchases may support text, monetary, date and delete operations; the BRC endpoint is the source of truth. When changing monetary values, preserve the existing unpaid/unallocated state and allow BRC to recalculate allocation fields where required. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Purchase id."
},
"note": {
"type": "string"
},
"acCode": {
"type": "string"
},
"procDate": {
"type": "string"
},
"entryDate": {
"type": "string"
},
"netAmount": {
"type": "number"
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"supplierId": {
"type": "string"
},
"accountCode": {
"type": "string"
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"description": {
"type": "string"
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"vatPercentage": {
"type": "number"
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
}
}{
"title": "Update Purchase",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_purchase — Delete Purchase
Deletes a BRC purchase by id using timestamp confirmation. Historical purchases are not automatically blocked because they belong to an earlier financial year. The BRC endpoint determines whether the historical deletion is supported. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Purchase id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Purchase",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_create_sales_entry — Create Sales Entry
Creates one BRC sales entry with positive, zero or negative net values and multiple VAT lines. Legacy single-VAT fields remain supported. Zero entries may omit analysis and VAT allocations. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"customerId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"netAmount",
"routeToken"
],
"properties": {
"note": {
"type": "string"
},
"total": {
"type": "number"
},
"acCode": {
"type": "string",
"minLength": 1
},
"procDate": {
"type": "string",
"minLength": 1
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"vatLines": {
"type": "array",
"items": {
"type": "object",
"required": [
"vatRateId",
"vatPercentage",
"netAmount"
],
"properties": {
"netAmount": {
"type": "number"
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"vatPercentage": {
"type": "number"
}
},
"additionalProperties": false
},
"maxItems": 100,
"description": "Separate VAT allocations; net amounts must sum to netAmount. Legacy vatRateId/vatPercentage remain supported."
},
"entryDate": {
"type": "string",
"minLength": 1
},
"netAmount": {
"type": "number",
"description": "Signed net total: positive, zero, or negative credit. No record-type conversion."
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"accountCode": {
"type": "string",
"minLength": 1
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"description": {
"type": "string"
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"vatPercentage": {
"type": "number"
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"detailedResponse": {
"type": "boolean",
"description": "Include full payload and BRC response; compact result is default."
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Sales Entry",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_update_sales_entry — Update Sales Entry
Updates a sales entry while preserving the existing BRC unpaid value. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales Entry id, normally the bookTranId returned by customer account transactions."
},
"note": {
"type": "string",
"description": "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."
},
"total": {
"type": "number",
"description": "New gross total. For monetary edits this must equal totalNet + totalVAT."
},
"acCode": {
"type": "string",
"description": "Customer account code."
},
"details": {
"type": "string",
"description": "Sales Entry details/description field."
},
"procDate": {
"type": "string",
"description": "Processing date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted."
},
"totalNet": {
"type": "number",
"description": "New total net value. For monetary edits this must be supplied together with totalVAT, total, acEntries and vatEntries."
},
"totalVAT": {
"type": "number",
"description": "New total VAT value. For monetary edits this must be supplied together with totalNet, total, acEntries and vatEntries."
},
"acEntries": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": "Complete BRC accounting-entry collection. For monetary edits, the sum of each entry's value must equal totalNet."
},
"entryDate": {
"type": "string",
"description": "Entry date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted."
},
"reference": {
"type": "string",
"description": "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."
},
"vatTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "VAT type id.",
"exclusiveMinimum": 0
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Customer id.",
"exclusiveMinimum": 0
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"vatEntries": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": "Complete BRC VAT-entry collection. Each entry should contain the BRC vatRateId, percentage and net amount used to calculate VAT."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Book transaction type id. Sales Entries normally use the existing record's transaction type.",
"exclusiveMinimum": 0
}
}
}{
"title": "Update Sales Entry",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_sales_entry — Delete Sales Entry
Deletes a BRC sales entry by id using timestamp confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sales entry id.",
"exclusiveMinimum": 0
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Sales Entry",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_create_sales_invoice — Create Sales Invoice
Creates a sales invoice with a caller-supplied reference and reconciled product, VAT and Sales-analysis lines. Missing customer contact values remain absent. Sales Rep is optional in Red. A positive saleRepId selects a representative; saleRepCode may accompany it. Code-only input is rejected because it does not reliably associate a Sales Rep. Company-specific BRC validation still applies. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"customerId",
"acCode",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage",
"productId",
"productCode",
"quantity",
"unitPrice",
"routeToken"
],
"properties": {
"note": {
"type": "string",
"description": "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": {
"type": "string"
},
"procDate": {
"type": "string"
},
"quantity": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"entryDate": {
"type": "string"
},
"netAmount": {
"type": "number",
"exclusiveMinimum": 0
},
"productId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "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`).",
"exclusiveMinimum": 0
},
"reference": {
"type": "string",
"description": "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": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Optional Sales Rep id. No default is injected.",
"exclusiveMinimum": 0
},
"unitPrice": {
"type": "number",
"exclusiveMinimum": 0
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"deliveryTo": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
],
"description": "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": {
"enum": [
"net",
"gross"
],
"type": "string",
"description": "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."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"accountCode": {
"type": "string",
"minLength": 1
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"description": {
"type": "string",
"description": "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": {
"type": "string",
"description": "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": {
"type": "string",
"minLength": 1,
"description": "Optional Sales Rep code accompanying saleRepId. A code alone does not select a representative."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"vatPercentage": {
"type": "number"
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Sales Invoice",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_create_sales_invoice_gen_ref — Create Sales Invoice with Generated Reference
Creates a sales invoice using generated references and reconciled product, VAT and Sales-analysis lines. Missing customer contact values remain absent. Sales Rep is optional in Red. A positive saleRepId selects a representative; saleRepCode may accompany it. Code-only input is rejected because it does not reliably associate a Sales Rep. Company-specific BRC validation still applies. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"payload",
"routeToken"
],
"properties": {
"payload": {
"type": "object",
"required": [
"customerId",
"acCode",
"entryDate",
"procDate",
"bookTranTypeId",
"totalNet",
"totalVAT",
"total"
],
"properties": {
"id": {
"type": "number"
},
"note": {
"type": "string"
},
"total": {
"type": "number"
},
"acCode": {
"type": "string",
"minLength": 1
},
"unpaid": {
"type": "number"
},
"quoteId": {
"type": "number"
},
"netGoods": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"entryDate": {
"type": "string",
"minLength": 1
},
"saleRepId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Optional Sales Rep id. No default is injected.",
"exclusiveMinimum": 0
},
"vatTypeId": {
"type": "number"
},
"customerId": {
"type": "number"
},
"deliveryTo": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"netServices": {
"type": "number"
},
"saleRepCode": {
"type": "string",
"minLength": 1,
"description": "Optional Sales Rep code accompanying saleRepId. A code alone does not select a representative."
},
"customFields": {
"type": "array",
"items": {}
},
"productTrans": {
"type": "array",
"items": {
"type": "object",
"required": [
"amount",
"amountNet",
"percentage",
"productCode",
"quantity",
"unitPrice",
"vat",
"vatRateId",
"vatAnalysisTypeId",
"tranNotes"
],
"properties": {
"id": {
"type": "number"
},
"vat": {
"type": "number"
},
"amount": {
"type": "number"
},
"quantity": {
"type": "number"
},
"acEntries": {
"type": "array",
"items": {
"type": "object",
"required": [
"accountCode",
"analysisCategoryId",
"value"
],
"properties": {
"id": {
"type": "number"
},
"value": {
"type": "number"
},
"accountCode": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
},
"analysisCategoryId": {
"type": "number"
}
},
"additionalProperties": {}
}
},
"amountNet": {
"type": "number"
},
"productId": {
"type": "number"
},
"tranNotes": {
"type": "array",
"items": {
"type": "string"
}
},
"unitPrice": {
"type": "number"
},
"vatRateId": {
"type": "number"
},
"percentage": {
"type": "number"
},
"productCode": {
"type": "string",
"minLength": 1
},
"vatAnalysisTypeId": {
"type": "number"
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"bookTranTypeId": {
"type": "number"
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
}
},
"description": "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, bookTranTypeId, totalNet, totalVAT, and total. Sales Rep fields are optional; saleRepCode alone does not select a representative. 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.",
"additionalProperties": {}
},
"priceBasis": {
"enum": [
"net",
"gross"
],
"type": "string",
"description": "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."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Sales Invoice with Generated Reference",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_update_sales_invoice — Update Sales Invoice
Updates a sales invoice. Supplied monetary changes must be explicit and reconciled. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales invoice id."
},
"note": {
"type": "string",
"description": "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."
},
"total": {
"type": "number"
},
"details": {
"type": "string"
},
"procDate": {
"type": "string",
"description": "Processing date. Historical dates are permitted as an attempted update; BRC may accept or reject them."
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"entryDate": {
"type": "string",
"description": "Entry date. Historical dates are permitted as an attempted update; BRC may accept or reject them."
},
"reference": {
"type": "string",
"description": "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": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"vatTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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."
},
"ourReference": {
"type": "string"
},
"productTrans": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": "Complete BRC productTrans collection. Use this when changing invoice lines, quantities, unit prices, VAT or line amounts."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"yourReference": {
"type": "string"
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
}
}{
"title": "Update Sales Invoice",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_sales_invoice — Delete Sales Invoice
Deletes or removes an identified BRC sales invoice after explicit confirmation using the invoice's current concurrency timestamp. confirmWrite is the confirmation field; confirmDelete is a legacy compatibility alias. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales invoice id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "Explicit confirmation of the previewed invoice deletion."
},
"confirmDelete": {
"type": "boolean",
"default": false,
"description": "Legacy alias for confirmWrite; either confirmation flag is sufficient."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Sales Invoice",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_create_quote — Create Quote
Creates a quote with a caller-supplied reference and reconciled product, VAT and Sales-analysis lines. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"companyId",
"customerOwnerId",
"acCode",
"customerOwnerName",
"comments",
"entryDate",
"procDate",
"saleRepId",
"saleRepCode",
"productId",
"productCode",
"quantity",
"unitPrice",
"vatRateId",
"vatPercentage",
"tranNote",
"analysisCategoryId",
"accountCode",
"routeToken"
],
"properties": {
"acCode": {
"type": "string"
},
"comments": {
"type": "string"
},
"ddNumber": {
"type": "string"
},
"poNumber": {
"type": "string"
},
"procDate": {
"type": "string"
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0
},
"tranNote": {
"type": "string"
},
"companyId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Required BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field.",
"exclusiveMinimum": 0
},
"entryDate": {
"type": "string"
},
"productId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"reference": {
"type": "string",
"maxLength": 6,
"description": "Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."
},
"saleRepId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sales rep id from brc_list_sales_reps.",
"exclusiveMinimum": 0
},
"unitPrice": {
"type": "number",
"exclusiveMinimum": 0
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"vatTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"layoutType": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"accountCode": {
"type": "string",
"minLength": 1,
"description": "Sales Analysis account code for the quote product line, for example SA01."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"productCode": {
"type": "string"
},
"saleRepCode": {
"type": "string",
"minLength": 1,
"description": "Sales rep code from brc_list_sales_reps."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"vatPercentage": {
"type": "number"
},
"customerOwnerId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"customerOwnerName": {
"type": "string"
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Quote",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}brc_create_quote_gen_ref — Create Quote with Generated Reference
Creates a quote using generated references and reconciled product, VAT and Sales-analysis lines. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"companyId",
"customerOwnerId",
"acCode",
"customerOwnerName",
"comments",
"entryDate",
"procDate",
"saleRepId",
"saleRepCode",
"productId",
"productCode",
"quantity",
"unitPrice",
"vatRateId",
"vatPercentage",
"tranNote",
"analysisCategoryId",
"accountCode",
"routeToken"
],
"properties": {
"acCode": {
"type": "string"
},
"comments": {
"type": "string"
},
"ddNumber": {
"type": "string"
},
"poNumber": {
"type": "string"
},
"procDate": {
"type": "string"
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0
},
"tranNote": {
"type": "string"
},
"companyId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Required BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field.",
"exclusiveMinimum": 0
},
"entryDate": {
"type": "string"
},
"productId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"reference": {
"type": "string",
"maxLength": 6,
"description": "Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."
},
"saleRepId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sales rep id from brc_list_sales_reps.",
"exclusiveMinimum": 0
},
"unitPrice": {
"type": "number",
"exclusiveMinimum": 0
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"vatTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"layoutType": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"accountCode": {
"type": "string",
"minLength": 1,
"description": "Sales Analysis account code for the quote product line, for example SA01."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"productCode": {
"type": "string"
},
"saleRepCode": {
"type": "string",
"minLength": 1,
"description": "Sales rep code from brc_list_sales_reps."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"vatPercentage": {
"type": "number"
},
"customerOwnerId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"customerOwnerName": {
"type": "string"
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Quote with Generated Reference",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}brc_update_quote — Update Quote
Updates a BRC quote's manual reference only. Quote.note is not persisted by this update and is not accepted here. Loads the current quote, preserves all other fields (including timestamp, product lines, analysis entries, totals, customer, sales rep, dates, comments, and closed state), applies the new reference, then PUTs the full record. Manual quote references must be 6 characters or fewer because Big Red Cloud truncates longer references. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Quote id."
},
"reference": {
"type": "string",
"maxLength": 6,
"description": "Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Update Quote",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_close_quote — Close Quote
Closes a BRC quote. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Quote id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Close Quote",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}brc_reopen_quote — Reopen Quote
Reopens a BRC quote. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Quote id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Reopen Quote",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}brc_delete_quote — Delete Quote
Deletes a BRC quote by id using timestamp confirmation. Loads the quote once to obtain its timestamp and to preview id, reference, customer, total, open or closed state, any linked sales invoice, and timestamp before asking for confirmation. A successful delete is the result; if a later lookup by quote id returns an unexpected error, treat that check as inconclusive rather than as a failed delete. Confirm remaining quotes from the quote list by quote id — quote references are not necessarily unique. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Quote id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Quote",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_generate_sales_invoice_from_quote — Generate Sales Invoice from Quote
Generates a sales invoice from a BRC quote. Preview-before-posting shows the exact POST /v1/quotes/generateSaleInvoice body (quoteId and optional entryDate/procDate only). Nothing is written until you confirm. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"quoteId",
"routeToken"
],
"properties": {
"quoteId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Quote id.",
"exclusiveMinimum": 0
},
"procDate": {
"type": "string",
"description": "Optional invoice processing date in ISO format."
},
"entryDate": {
"type": "string",
"description": "Optional invoice entry date in ISO format."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Generate Sales Invoice from Quote",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_create_sales_credit_note — Create Sales Credit Note
Creates a sales credit note with a caller-supplied reference and reconciled negative document amounts. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"customerId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage",
"productId",
"productCode",
"quantity",
"unitPrice",
"saleRepId",
"saleRepCode",
"routeToken"
],
"properties": {
"note": {
"type": "string"
},
"acCode": {
"type": "string"
},
"procDate": {
"type": "string"
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0
},
"entryDate": {
"type": "string"
},
"netAmount": {
"type": "number",
"exclusiveMinimum": 0
},
"productId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"reference": {
"type": "string"
},
"saleRepId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sales rep id from brc_list_sales_reps.",
"exclusiveMinimum": 0
},
"unitPrice": {
"type": "number",
"exclusiveMinimum": 0
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"accountCode": {
"type": "string",
"minLength": 1
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"description": {
"type": "string"
},
"productCode": {
"type": "string"
},
"saleRepCode": {
"type": "string",
"minLength": 1,
"description": "Sales rep code from brc_list_sales_reps."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"vatPercentage": {
"type": "number"
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Sales Credit Note",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_create_sales_credit_note_gen_ref — Create Sales Credit Note with Generated Reference
Creates a sales credit note using generated references and reconciled negative document amounts. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"payload",
"routeToken"
],
"properties": {
"payload": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Sales Credit Note with Generated Reference",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_update_sales_credit_note — Update Sales Credit Note
Updates a sales credit note while preserving the existing BRC unpaid value. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales credit note id."
},
"note": {
"type": "string"
},
"total": {
"type": "number"
},
"details": {
"type": "string"
},
"procDate": {
"type": "string",
"description": "Processing date. Historical dates may be attempted; BRC determines whether the update is permitted."
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"entryDate": {
"type": "string",
"description": "Entry date. Historical dates may be attempted; BRC determines whether the update is permitted."
},
"reference": {
"type": "string"
},
"saleRepId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"vatTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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."
},
"ourReference": {
"type": "string"
},
"productTrans": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": "Complete BRC productTrans collection. Preserve existing line ids and accounting/VAT data when modifying an existing credit note."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"yourReference": {
"type": "string"
}
}
}{
"title": "Update Sales Credit Note",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_sales_credit_note — Delete Sales Credit Note
Deletes a BRC sales credit note by id using timestamp confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales credit note id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Sales Credit Note",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_create_sales_rep — Create Sales Representative
Creates a BRC sales rep using structured MCP fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"code",
"name",
"routeToken"
],
"properties": {
"code": {
"type": "string",
"description": "Sales rep code."
},
"name": {
"type": "string",
"description": "Sales rep name."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Create Sales Representative",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}brc_update_sales_rep — Update Sales Representative
Updates a BRC sales rep using structured MCP fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales rep id."
},
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Update Sales Representative",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_sales_rep — Delete Sales Representative
Deletes a BRC sales rep by id using timestamp confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales rep id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Sales Representative",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_get_nom_ac_ledger_by_ids — Get Nominal Account Ledgers by IDs
Returns nominal-account ledgers for supplied account IDs. Monthly values represent movements rather than monthly balances.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"ids"
],
"properties": {
"ids": {
"type": "string",
"description": "Comma-separated nominal account ids."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Nominal Account Ledgers by IDs",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_grouped_nominal_accounts_report — Grouped Nominal Accounts Report
Returns a grouped nominal-account report with period movements rather than monthly balances.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Grouped Nominal Accounts Report",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_multi_company_nom_ac_report — Multi-Company Nominal Account Report
Returns a multi-company nominal-account report with period movements rather than monthly balances.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyNames"
],
"properties": {
"companyNames": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"minItems": 1,
"description": "The company names to report on."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Multi-Company Nominal Account Report",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_cash_payments — List Cash Payments
Lists BRC cash payments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Cash Payments",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_cash_payment — Get Cash Payment
Gets one BRC cash payment by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Cash payment id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Cash Payment",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_create_cash_payment — Create Cash Payment
Creates a cash payment in supplier-ledger, bank-lodgement or analysed-expense mode. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"note",
"total",
"routeToken"
],
"properties": {
"note": {
"type": "string"
},
"total": {
"type": "number",
"exclusiveMinimum": 0
},
"acCode": {
"type": "string",
"description": "Supplier account code for ledger payments."
},
"ledger": {
"type": "number",
"description": "Ledger amount; must equal total for supplier payments."
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"description": "Processing date in ISO format. Defaults to entryDate."
},
"entryDate": {
"type": "string",
"description": "Entry date in ISO format. Defaults to today."
},
"lodgement": {
"type": "number",
"description": "Lodgement amount; must equal total when lodging to bank."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"supplierId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Supplier id for ledger payments.",
"exclusiveMinimum": 0
},
"accountCode": {
"type": "string",
"description": "Analysis account code matching analysisCategoryId, for example CP01."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"description": {
"type": "string",
"description": "Analysis line description."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Bank account id for lodgements.",
"exclusiveMinimum": 0
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"bookTranTypeId": {
"type": "integer",
"default": 2,
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Cash Payment book transaction type id."
},
"bankAccountCode": {
"type": "string",
"description": "Bank account code for lodgements."
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cash Payments analysis category id (categoryTypeId 1391170).",
"exclusiveMinimum": 0
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Cash Payment",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_update_cash_payment — Update Cash Payment
Updates an existing Cash Payment by merging supplied fields onto the current record. Fields that can be merged include total, entryDate, procDate, supplierId, acCode, note, ledger, discount, bankAccountId, bankAccountCode, lodgement, analysisCategoryId, accountCode, and description. This update flow is a verified action on the existing record. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Cash payment id."
},
"payload": {
"type": "object",
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"updates": {
"type": "object",
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Update Cash Payment",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_cash_payment — Delete Cash Payment
Deletes a BRC cash payment by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "cash payment id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Cash Payment",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_cash_payments — Batch Cash Payments
Processes cash payments in supplier-ledger, bank-lodgement or analysed-expense mode. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"opCode",
"item"
],
"properties": {
"item": {
"oneOf": [
{
"type": "object",
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"supplierId",
"acCode",
"ledger"
],
"properties": {
"note": {
"type": "string",
"minLength": 1,
"description": "Cash Payment note."
},
"total": {
"type": "number",
"description": "Positive Cash Payment total.",
"exclusiveMinimum": 0
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Supplier account code."
},
"ledger": {
"type": "number",
"description": "Supplier-ledger amount; must equal total.",
"exclusiveMinimum": 0
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"supplierId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC supplier id.",
"exclusiveMinimum": 0
},
"bookTranTypeId": {
"type": "number",
"const": 2,
"description": "Cash Payment book transaction type id. Must be 2."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"bankAccountId",
"bankAccountCode",
"lodgement"
],
"properties": {
"note": {
"type": "string",
"minLength": 1,
"description": "Cash Payment note."
},
"total": {
"type": "number",
"description": "Positive Cash Payment total.",
"exclusiveMinimum": 0
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"lodgement": {
"type": "number",
"description": "Bank lodgement amount; must equal total.",
"exclusiveMinimum": 0
},
"bankAccountId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC bank account id receiving the lodgement.",
"exclusiveMinimum": 0
},
"bookTranTypeId": {
"type": "number",
"const": 2,
"description": "Cash Payment book transaction type id. Must be 2."
},
"bankAccountCode": {
"type": "string",
"minLength": 1,
"description": "BRC bank account code receiving the lodgement."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description"
],
"properties": {
"note": {
"type": "string",
"minLength": 1,
"description": "Cash Payment note."
},
"total": {
"type": "number",
"description": "Positive Cash Payment total.",
"exclusiveMinimum": 0
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"accountCode": {
"type": "string",
"minLength": 1,
"description": "Cash Payments analysis account code."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Analysis-line description."
},
"bookTranTypeId": {
"type": "number",
"const": 2,
"description": "Cash Payment book transaction type id. Must be 2."
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cash Payments analysis category id.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}
]
},
"opCode": {
"type": "number",
"const": 1,
"description": "BRC batch create operation code. Must be 1."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Batch Cash Payments",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_list_cash_receipts — List Cash Receipts
Lists BRC cash receipts. entryDate is the accounting period date; procDate is the transaction/processing date. Customer and procDate filters use a complete bounded local scan (10,000 records), not upstream OData; narrow entryDate when needed.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter using entryDate only. Other fields are unsupported."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"procDateTo": {
"type": "string",
"description": "Inclusive transaction date YYYY-MM-DD; local filtering."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"customerCode": {
"type": "string",
"minLength": 1,
"description": "Exact case-sensitive code; bounded local filtering, no fuzzy match."
},
"procDateFrom": {
"type": "string",
"description": "Inclusive transaction date YYYY-MM-DD; local filtering."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Cash Receipts",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_cash_receipt — Get Cash Receipt
Gets one BRC cash receipt by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Cash receipt id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Cash Receipt",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_create_cash_receipt — Create Cash Receipt
Creates a BRC cash receipt. Accepts either a raw payload object or common flat fields. Customer-ledger receipts require both customerId and acCode resolved for the same customer; neither field alone is sufficient. Analysed receipts may instead supply an analysis allocation without a customer. entryDate defaults to today; procDate defaults to entryDate. The preview shows these resolved dates; carry them into the confirmation call to preserve them if confirming on a later day. VAT rate fields are only sent when the company's VAT on Cash Receipt setting is enabled. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"routeToken"
],
"properties": {
"note": {
"type": "string"
},
"total": {
"type": "number"
},
"acCode": {
"type": "string",
"description": "Resolved customer account code. Customer-ledger receipts also require customerId for the same customer; analysed receipts can omit both."
},
"ledger": {
"type": "number"
},
"details": {
"type": "string"
},
"payload": {
"type": "object",
"description": "Raw cash-receipt fields. Customer-ledger mode requires both customerId and acCode for the same resolved customer; analysed mode uses analysis allocation instead.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"description": "Processing date; defaults to entryDate and is shown in the preview."
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"totalVat": {
"type": "number"
},
"acEntries": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"entryDate": {
"type": "string",
"description": "Entry date; defaults to today and is shown in the preview."
},
"reference": {
"type": "string",
"description": "Cash receipts do not support reference in the documented BRC API. Use detailCollection for audit or bank-reference text."
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"vatTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Resolved customer id. Customer-ledger receipts also require acCode for the same customer; analysed receipts can omit both.",
"exclusiveMinimum": 0
},
"percentage": {
"type": "number"
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"vatEntries": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"accountCode": {
"type": "string"
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"description": {
"type": "string"
},
"unallocated": {
"type": "number"
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "array",
"items": {}
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"vatPercentage": {
"type": "number"
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"detailCollection": {
"type": "array",
"items": {
"type": "string"
}
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Cash Receipt",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_update_cash_receipt — Update Cash Receipt
Updates a BRC cash receipt using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Cash receipt id."
},
"payload": {
"type": "object",
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"updates": {
"type": "object",
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Update Cash Receipt",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_cash_receipt — Delete Cash Receipt
Deletes a BRC cash receipt by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "cash receipt id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Cash Receipt",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_cash_receipts — Batch Cash Receipts
Processes a batch of BRC cash receipts. Maximum 100 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"opCode",
"item"
],
"properties": {
"item": {
"oneOf": [
{
"type": "object",
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"acEntries"
],
"properties": {
"note": {
"type": "string",
"minLength": 1,
"description": "Cash Receipt note."
},
"total": {
"type": "number",
"description": "Positive Cash Receipt total.",
"exclusiveMinimum": 0
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"acEntries": {
"type": "array",
"items": {
"type": "object",
"required": [
"accountCode",
"analysisCategoryId",
"description",
"value"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"value": {
"type": "number",
"description": "Positive portion of the receipt total assigned to this analysis entry.",
"exclusiveMinimum": 0
},
"accountCode": {
"type": "string",
"minLength": 1,
"description": "Cash Receipts analysis account code."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Analysis-line description."
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cash Receipts analysis category id.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"minItems": 1
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"reference": {
"type": "string",
"description": "Cash receipts do not support reference in the documented BRC API. Use detailCollection for audit or bank-reference text."
},
"vatEntries": {
"type": "array",
"items": {
"type": "object",
"required": [
"vatRateId",
"percentage",
"amount"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"amount": {
"type": "number",
"description": "Positive portion of the receipt total assigned to this VAT rate; this is not the VAT amount.",
"exclusiveMinimum": 0
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0
},
"percentage": {
"type": "number",
"description": "VAT percentage."
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "Optional manual VAT split. Removed before transmission when Enable VAT on Cash Receipts is disabled."
},
"bookTranTypeId": {
"type": "number",
"const": 1,
"description": "Cash Receipt book transaction type id. Must be 1."
},
"detailCollection": {
"type": "array",
"items": {
"type": "string"
},
"description": "Cash Receipt detail lines, including audit or bank-reference text. An empty array clears the lines."
}
},
"additionalProperties": false
},
{
"oneOf": [
{
"type": "object",
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description"
],
"properties": {
"note": {
"type": "string",
"minLength": 1,
"description": "Cash Receipt note."
},
"total": {
"type": "number",
"description": "Positive Cash Receipt total.",
"exclusiveMinimum": 0
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"reference": {
"type": "string",
"description": "Cash receipts do not support reference in the documented BRC API. Use detailCollection for audit or bank-reference text."
},
"accountCode": {
"type": "string",
"minLength": 1,
"description": "Cash Receipts analysis account code."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Analysis-line description."
},
"bookTranTypeId": {
"type": "number",
"const": 1,
"description": "Cash Receipt book transaction type id. Must be 1."
},
"detailCollection": {
"type": "array",
"items": {
"type": "string"
},
"description": "Cash Receipt detail lines, including audit or bank-reference text. An empty array clears the lines."
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cash Receipts analysis category id.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"vatRateId",
"vatPercentage"
],
"properties": {
"note": {
"type": "string",
"minLength": 1,
"description": "Cash Receipt note."
},
"total": {
"type": "number",
"description": "Positive Cash Receipt total.",
"exclusiveMinimum": 0
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"reference": {
"type": "string",
"description": "Cash receipts do not support reference in the documented BRC API. Use detailCollection for audit or bank-reference text."
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0
},
"accountCode": {
"type": "string",
"minLength": 1,
"description": "Cash Receipts analysis account code."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Analysis-line description."
},
"vatPercentage": {
"type": "number",
"description": "VAT percentage. Must be supplied with vatRateId."
},
"bookTranTypeId": {
"type": "number",
"const": 1,
"description": "Cash Receipt book transaction type id. Must be 1."
},
"detailCollection": {
"type": "array",
"items": {
"type": "string"
},
"description": "Cash Receipt detail lines, including audit or bank-reference text. An empty array clears the lines."
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Cash Receipts analysis category id.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}
]
},
{
"type": "object",
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"customerId",
"acCode",
"ledger"
],
"properties": {
"note": {
"type": "string",
"minLength": 1,
"description": "Cash Receipt note."
},
"total": {
"type": "number",
"description": "Positive Cash Receipt total.",
"exclusiveMinimum": 0
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Customer account code."
},
"ledger": {
"type": "number",
"description": "Customer-ledger amount; must equal total.",
"exclusiveMinimum": 0
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"reference": {
"type": "string",
"description": "Cash receipts do not support reference in the documented BRC API. Use detailCollection for audit or bank-reference text."
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC customer id.",
"exclusiveMinimum": 0
},
"bookTranTypeId": {
"type": "number",
"const": 1,
"description": "Cash Receipt book transaction type id. Must be 1."
},
"detailCollection": {
"type": "array",
"items": {
"type": "string"
},
"description": "Cash Receipt detail lines, including audit or bank-reference text. An empty array clears the lines."
}
},
"additionalProperties": false
}
]
},
"opCode": {
"type": "number",
"const": 1,
"description": "BRC batch create operation code. Must be 1."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Batch Cash Receipts",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_list_payments — List Payments
Lists BRC payments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Payments",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_payment — Get Payment
Gets one BRC payment by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Payment id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Payment",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_create_payment — Create Payment
Creates a bank payment in supplier or analysed-account mode. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"note",
"total",
"bankAccountId",
"bankAccountCode",
"routeToken"
],
"properties": {
"note": {
"type": "string"
},
"total": {
"type": "number",
"exclusiveMinimum": 0
},
"acCode": {
"type": "string",
"description": "Supplier account code for supplier payments."
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"description": "Processing date in ISO format. Defaults to entryDate."
},
"entryDate": {
"type": "string",
"description": "Entry date in ISO format. Defaults to today."
},
"reference": {
"type": "string"
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"supplierId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Supplier id for supplier payments.",
"exclusiveMinimum": 0
},
"accountCode": {
"type": "string",
"description": "Analysis account code matching analysisCategoryId, for example BP01."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"description": {
"type": "string",
"description": "Analysis line description."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"bookTranTypeId": {
"type": "integer",
"default": 3,
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Cheques Entry / Payments book transaction type id."
},
"bankAccountCode": {
"type": "string"
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Payments book analysis category id for the selected bank.",
"exclusiveMinimum": 0
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Create Payment",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_update_payment — Update Payment
Updates a BRC payment using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Payment id."
},
"payload": {
"type": "object",
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"updates": {
"type": "object",
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Update Payment",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_payment — Delete Payment
Deletes a BRC payment by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "payment id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Payment",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_payments — Batch Payments
Processes supplier or analysed bank payments in a batch. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"opCode",
"item"
],
"properties": {
"item": {
"oneOf": [
{
"type": "object",
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"bankAccountId",
"bankAccountCode",
"supplierId",
"acCode"
],
"properties": {
"note": {
"type": "string",
"minLength": 1,
"description": "Payment note."
},
"total": {
"type": "number",
"description": "Positive Payment total.",
"exclusiveMinimum": 0
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Supplier account code."
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"reference": {
"type": "string"
},
"supplierId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC supplier id.",
"exclusiveMinimum": 0
},
"bankAccountId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC bank account id.",
"exclusiveMinimum": 0
},
"bookTranTypeId": {
"type": "number",
"const": 3,
"description": "Payments book transaction type id. Must be 3."
},
"bankAccountCode": {
"type": "string",
"minLength": 1,
"description": "BRC bank account code."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"bankAccountId",
"bankAccountCode",
"analysisCategoryId",
"accountCode",
"description"
],
"properties": {
"note": {
"type": "string",
"minLength": 1,
"description": "Payment note."
},
"total": {
"type": "number",
"description": "Positive Payment total.",
"exclusiveMinimum": 0
},
"discount": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"reference": {
"type": "string"
},
"accountCode": {
"type": "string",
"minLength": 1,
"description": "Payments-book analysis account code for the non-supplier payment."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Description for the payment analysis line."
},
"bankAccountId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC bank account id.",
"exclusiveMinimum": 0
},
"bookTranTypeId": {
"type": "number",
"const": 3,
"description": "Payments book transaction type id. Must be 3."
},
"bankAccountCode": {
"type": "string",
"minLength": 1,
"description": "BRC bank account code."
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Payments-book analysis category id for the non-supplier payment.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}
]
},
"opCode": {
"type": "number",
"const": 1,
"description": "BRC batch create operation code. Must be 1."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Batch Payments",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_list_bank_accounts — List Bank Accounts
Lists BRC bank accounts.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Bank Accounts",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_bank_account — Get Bank Account
Gets one BRC bank account by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Bank account id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Bank Account",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_create_bank_account — Create Bank Account
Creates a bank account after an unconfirmed preview. confirmCreate applies the previewed creation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"routeToken"
],
"properties": {
"acCode": {
"type": "string",
"description": "Bank account code, for example 1603."
},
"address": {
"type": "array",
"items": {
"type": "string"
}
},
"balance": {
"type": "number",
"default": 0,
"description": "Opening/current starting balance."
},
"details": {
"type": "string",
"description": "Bank account description/name."
},
"lastChq": {
"type": "string",
"description": "Last cheque number, for example 000001."
},
"payload": {
"type": "object",
"description": "Optional raw bank account payload.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"sortCode": {
"type": "string"
},
"categoryId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Bank Payments category type id from brc_list_category_types."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"accountName": {
"type": "string"
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"accountNumber": {
"type": "string"
},
"confirmCreate": {
"type": "boolean",
"default": false,
"description": "Must be true only after the user explicitly confirms creation."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"isDefaultBank": {
"type": "boolean",
"default": false
},
"nominalAcCode": {
"type": "string",
"description": "Existing linked nominal account code. This must already exist in Big Red Cloud and will be sent to the API as account.acCode."
},
"creditorScheme": {
"type": "string"
},
"bankFeedsSource": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"businessIdentifierCode": {
"type": "string"
},
"internationalBankAccountNumber": {
"type": "string"
}
}
}{
"title": "Create Bank Account",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}brc_update_bank_account — Update Bank Account
Updates a BRC bank account using merged fields. An unconfirmed call returns a plain-English change preview. Explicit confirmation is required before the update is applied. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Bank account id."
},
"payload": {
"type": "object",
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"updates": {
"type": "object",
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Update Bank Account",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_bank_account — Delete Bank Account
Deletes the specified bank account after explicit confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "bank account id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Bank Account",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_get_product — Get Product
Gets one BRC product by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Product id."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Product",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_create_product — Create Product
Creates a BRC product using a raw BRC payload. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"payload",
"routeToken"
],
"properties": {
"payload": {
"type": "object",
"description": "Raw BRC-compatible payload for this endpoint.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Create Product",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": false
}brc_update_product — Update Product
Updates a BRC product using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Product id."
},
"payload": {
"type": "object",
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"updates": {
"type": "object",
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Update Product",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_product — Delete Product
Deletes a BRC product by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "product id."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"default": false
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Product",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_purchases — Batch Purchases
Processes purchases in a batch using structured generated-reference purchase items. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"item"
],
"properties": {
"item": {
"type": "object",
"required": [
"supplierId",
"acCode",
"bookTranTypeId",
"entryDate",
"procDate",
"description",
"note",
"accountCode",
"analysisCategoryId",
"netAmount",
"vatPercentage",
"vatRateId"
],
"properties": {
"note": {
"type": "string",
"description": "Purchase note."
},
"total": {
"type": "number",
"description": "Optional caller-calculated gross total; RED recalculates it."
},
"acCode": {
"type": "string",
"description": "Supplier account code."
},
"unpaid": {
"type": "number",
"description": "Optional caller-calculated unpaid amount; RED recalculates it."
},
"procDate": {
"type": "string",
"description": "Purchase processing date in ISO format."
},
"totalNet": {
"type": "number",
"description": "Optional caller-calculated net total; RED recalculates it from netAmount."
},
"totalVAT": {
"type": "number",
"description": "Optional caller-calculated VAT total; RED recalculates it from netAmount and vatPercentage."
},
"entryDate": {
"type": "string",
"description": "Purchase entry date in ISO format."
},
"netAmount": {
"type": "number",
"description": "Net amount before VAT.",
"exclusiveMinimum": 0
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0
},
"vatTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Optional purchase VAT type; the current builder emits Domestic VAT type 1.",
"exclusiveMinimum": 0
},
"supplierId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC supplier id.",
"exclusiveMinimum": 0
},
"accountCode": {
"type": "string",
"description": "Nominal account code for the analysis entry."
},
"description": {
"type": "string",
"description": "Purchase analysis-line description."
},
"vatPercentage": {
"type": "number",
"description": "VAT percentage."
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Purchase book transaction type id; use 4.",
"exclusiveMinimum": 0
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Purchases analysis category id.",
"exclusiveMinimum": 0
}
},
"description": "Structured purchase input matching brc_create_purchase_gen_ref and the batch purchase builder."
},
"opCode": {
"type": "number",
"const": 1,
"default": 1,
"description": "BRC batch operation code. Use 1 to create a purchase."
}
}
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"priceBasis": {
"enum": [
"net",
"gross"
],
"type": "string",
"description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Batch Purchases",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_quotes — Batch Quotes
Processes a batch of quotes using either verified flat creator fields or a complete nested BRC Quote payload. Maximum 100 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"opCode",
"item"
],
"properties": {
"item": {
"oneOf": [
{
"type": "object",
"required": [
"companyId",
"customerOwnerId",
"acCode",
"customerOwnerName",
"comments",
"entryDate",
"procDate",
"saleRepId",
"saleRepCode",
"productId",
"productCode",
"quantity",
"unitPrice",
"vatRateId",
"vatPercentage",
"tranNote",
"analysisCategoryId",
"accountCode"
],
"properties": {
"acCode": {
"type": "string",
"minLength": 1,
"description": "Customer account code."
},
"comments": {
"type": "string",
"minLength": 1,
"description": "Quote comments."
},
"ddNumber": {
"type": "string"
},
"poNumber": {
"type": "string"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0
},
"tranNote": {
"type": "string",
"minLength": 1,
"description": "Quote product-line note."
},
"companyId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC company id.",
"exclusiveMinimum": 0
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"productId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
"exclusiveMinimum": 0
},
"reference": {
"type": "string",
"maxLength": 6,
"description": "Optional manual quote reference, maximum six characters."
},
"saleRepId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC sales representative id.",
"exclusiveMinimum": 0
},
"unitPrice": {
"type": "number",
"exclusiveMinimum": 0
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0
},
"vatTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT type id.",
"exclusiveMinimum": 0
},
"deliveryTo": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"layoutType": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Quote layout type id.",
"exclusiveMinimum": 0
},
"accountCode": {
"type": "string",
"minLength": 1,
"description": "Sales analysis account code."
},
"productCode": {
"type": "string",
"minLength": 1,
"description": "BRC product code."
},
"saleRepCode": {
"type": "string",
"minLength": 1,
"description": "BRC sales representative code."
},
"vatPercentage": {
"type": "number"
},
"customerOwnerId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC customer owner id.",
"exclusiveMinimum": 0
},
"customerOwnerName": {
"type": "string",
"minLength": 1,
"description": "Customer name."
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sales analysis category id.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"companyId",
"customerOwnerId",
"vatTypeId",
"saleRepId",
"saleRepCode",
"entryDate",
"procDate",
"customerOwnerName",
"comments",
"layoutType",
"total",
"totalVat",
"totalNet",
"note",
"acCode",
"productTrans",
"customFields"
],
"properties": {
"note": {
"type": "string"
},
"total": {
"type": "number",
"exclusiveMinimum": 0
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Customer account code."
},
"comments": {
"type": "string",
"minLength": 1,
"description": "Quote comments."
},
"ddNumber": {
"type": "string"
},
"poNumber": {
"type": "string"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"totalNet": {
"type": "number",
"exclusiveMinimum": 0
},
"totalVat": {
"type": "number",
"minimum": 0
},
"companyId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC company id.",
"exclusiveMinimum": 0
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"reference": {
"type": "string",
"maxLength": 6,
"description": "Optional manual quote reference, maximum six characters."
},
"saleRepId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC sales representative id.",
"exclusiveMinimum": 0
},
"vatTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT type id.",
"exclusiveMinimum": 0
},
"closedDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"deliveryTo": {
"type": "array",
"items": {
"type": "string"
}
},
"layoutType": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Quote layout type id.",
"exclusiveMinimum": 0
},
"saleRepCode": {
"type": "string",
"minLength": 1,
"description": "BRC sales representative code."
},
"customFields": {
"type": "array",
"items": {}
},
"deliveryList": {
"type": "string"
},
"productTrans": {
"type": "array",
"items": {
"type": "object",
"required": [
"companyId",
"percentage",
"vatRateId",
"productId",
"productCode",
"quantity",
"unitPrice",
"amount",
"vatAmount",
"tranNotes",
"acEntries",
"vatAnalysisTypeId"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"amount": {
"type": "number",
"exclusiveMinimum": 0
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0
},
"acEntries": {
"type": "array",
"items": {
"type": "object",
"required": [
"companyId",
"accountCode",
"analysisCategoryId",
"value"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"value": {
"type": "number",
"exclusiveMinimum": 0
},
"companyId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC company id.",
"exclusiveMinimum": 0
},
"accountCode": {
"type": "string",
"minLength": 1,
"description": "Sales analysis account code."
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sales analysis category id.",
"exclusiveMinimum": 0
},
"quoteProductTranId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
},
"minItems": 1
},
"companyId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC company id.",
"exclusiveMinimum": 0
},
"productId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
"exclusiveMinimum": 0
},
"tranNotes": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"unitPrice": {
"type": "number",
"exclusiveMinimum": 0
},
"vatAmount": {
"type": "number",
"minimum": 0
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0
},
"percentage": {
"type": "number"
},
"productCode": {
"type": "string",
"minLength": 1,
"description": "BRC product code."
},
"vatAnalysisTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
},
"minItems": 1
},
"saleInvoiceId": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
{
"type": "null"
}
]
},
"customerOwnerId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC customer owner id.",
"exclusiveMinimum": 0
},
"customerOwnerName": {
"type": "string",
"minLength": 1,
"description": "Customer name."
}
},
"additionalProperties": false
}
]
},
"opCode": {
"type": "number",
"const": 1,
"description": "BRC batch create operation code. Must be 1."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Batch Quotes",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_sales_credit_notes — Batch Sales Credit Notes
Processes sales credit notes in a batch using reconciled product, VAT and Sales-analysis lines. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"opCode",
"item"
],
"properties": {
"item": {
"oneOf": [
{
"type": "object",
"required": [
"customerId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage",
"productId",
"productCode",
"quantity",
"unitPrice",
"saleRepId",
"saleRepCode"
],
"properties": {
"note": {
"type": "string",
"minLength": 1,
"description": "Sales credit note."
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Customer account code."
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"quantity": {
"type": "number",
"exclusiveMinimum": 0
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"netAmount": {
"type": "number",
"exclusiveMinimum": 0
},
"productId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
"exclusiveMinimum": 0
},
"reference": {
"type": "string"
},
"saleRepId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC sales representative id.",
"exclusiveMinimum": 0
},
"unitPrice": {
"type": "number",
"exclusiveMinimum": 0
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC customer id.",
"exclusiveMinimum": 0
},
"accountCode": {
"type": "string",
"minLength": 1,
"description": "Sales analysis account code."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Product-line analysis description."
},
"productCode": {
"type": "string",
"minLength": 1,
"description": "BRC product code."
},
"saleRepCode": {
"type": "string",
"minLength": 1,
"description": "BRC sales representative code."
},
"vatPercentage": {
"type": "number"
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sales Credit Note book transaction type id; use 7.",
"exclusiveMinimum": 0
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sales analysis category id.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"productTrans",
"saleRepId",
"saleRepCode",
"customerId",
"unpaid",
"vatTypeId",
"totalNet",
"totalVAT",
"bookTranTypeId",
"acCode",
"entryDate",
"procDate",
"total",
"customFields"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"note": {
"type": "string"
},
"total": {
"type": "number",
"exclusiveMaximum": 0
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Customer account code."
},
"loType": {
"type": "string"
},
"unpaid": {
"type": "number",
"exclusiveMaximum": 0
},
"details": {
"anyOf": [
{},
{
"type": "null"
}
]
},
"quoteId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"netGoods": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date in ISO format."
},
"totalNet": {
"type": "number",
"exclusiveMaximum": 0
},
"totalVAT": {
"type": "number",
"exclusiveMaximum": 0
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date in ISO format."
},
"reference": {
"type": "string"
},
"saleRepId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC sales representative id.",
"exclusiveMinimum": 0
},
"vatTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT type id.",
"exclusiveMinimum": 0
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC customer id.",
"exclusiveMinimum": 0
},
"deliveryTo": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"netServices": {
"type": "number"
},
"saleRepCode": {
"type": "string",
"minLength": 1,
"description": "BRC sales representative code."
},
"customFields": {
"type": "array",
"items": {}
},
"ourReference": {
"type": "string"
},
"productTrans": {
"type": "array",
"items": {
"type": "object",
"required": [
"amount",
"amountNet",
"percentage",
"productId",
"productCode",
"quantity",
"unitPrice",
"vat",
"vatRateId",
"vatAnalysisTypeId",
"tranNotes",
"acEntries"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"vat": {
"type": "number",
"exclusiveMaximum": 0
},
"amount": {
"type": "number",
"exclusiveMaximum": 0
},
"quantity": {
"type": "number",
"exclusiveMaximum": 0
},
"acEntries": {
"type": "array",
"items": {
"type": "object",
"required": [
"accountCode",
"analysisCategoryId",
"value"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"value": {
"type": "number",
"exclusiveMaximum": 0
},
"accountCode": {
"type": "string",
"minLength": 1,
"description": "Sales analysis account code."
},
"description": {
"type": "string"
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Sales analysis category id.",
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"minItems": 1
},
"amountNet": {
"type": "number",
"exclusiveMaximum": 0
},
"productId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
"exclusiveMinimum": 0
},
"tranNotes": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"unitPrice": {
"type": "number",
"exclusiveMinimum": 0
},
"vatAmount": {
"type": "number",
"exclusiveMaximum": 0
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0
},
"percentage": {
"type": "number"
},
"productCode": {
"type": "string",
"minLength": 1,
"description": "BRC product code."
},
"vatAnalysisTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
}
},
"additionalProperties": false
},
"minItems": 1
},
"yourReference": {
"type": "string"
},
"bookTranTypeId": {
"type": "number",
"const": 7
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
}
},
"additionalProperties": false
}
]
},
"opCode": {
"type": "number",
"const": 1,
"description": "BRC batch create operation code. Must be 1."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"priceBasis": {
"enum": [
"net",
"gross"
],
"type": "string",
"description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Batch Sales Credit Notes",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_sales_entries — Batch Sales Entries
Processes sales entries with positive, zero or negative amounts and multiple VAT lines. The optional batchSize is a per-request limit. An omitted value uses the sales-entry configuration, then the general batch configuration, then fallback 20. The hard ceiling is 100, with no automatic splitting. Maximum 100 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"opCode",
"item"
],
"properties": {
"item": {
"type": "object",
"required": [
"customerId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"netAmount"
],
"properties": {
"note": {
"type": "string"
},
"total": {
"type": "number"
},
"acCode": {
"type": "string",
"minLength": 1
},
"procDate": {
"type": "string",
"minLength": 1
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"vatLines": {
"type": "array",
"items": {
"type": "object",
"required": [
"vatRateId",
"vatPercentage",
"netAmount"
],
"properties": {
"netAmount": {
"type": "number"
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"vatPercentage": {
"type": "number"
}
},
"additionalProperties": false
},
"maxItems": 100,
"description": "Separate VAT allocations; net amounts must sum to netAmount. Legacy vatRateId/vatPercentage remain supported."
},
"entryDate": {
"type": "string",
"minLength": 1
},
"netAmount": {
"type": "number",
"description": "Signed net total: positive, zero, or negative credit. No record-type conversion."
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"accountCode": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
},
"vatPercentage": {
"type": "number"
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"analysisCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"opCode": {
"type": "number",
"const": 1,
"description": "BRC batch create operation code. Must be 1."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"batchSize": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Maximum item count for this request, not an automatic chunk size. If omitted: BRC_SALES_ENTRY_BATCH_SIZE, then BRC_MAX_BATCH_ITEMS, then fallback 20. Hard ceiling 100. RED never auto-splits requests; preview/confirm each submitted set."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"detailedResponse": {
"type": "boolean",
"description": "Return full payload and BRC response for audit inspection. Default is compact."
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Batch Sales Entries",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_sales_invoices — Batch Sales Invoices
Multi-record accounting write for sales invoices. Creates invoices up to the configured per-request maximum; opCode 1 requests creation. A preview and explicit user confirmation are required before posting. Results are reported per item and partial success is possible. Existing invoice changes use the separate single-invoice update workflow. Product, Sales VAT and Sales-analysis checks apply. Sales Rep is optional in Red. A positive saleRepId selects a representative; saleRepCode may accompany it. Code-only input is rejected because it does not reliably associate a Sales Rep. Company-specific BRC validation still applies. Maximum 100 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"item"
],
"properties": {
"item": {
"type": "object",
"required": [
"customerId",
"acCode",
"entryDate",
"procDate",
"bookTranTypeId",
"totalNet",
"totalVAT",
"total"
],
"properties": {
"id": {
"type": "number"
},
"note": {
"type": "string"
},
"total": {
"type": "number"
},
"acCode": {
"type": "string",
"minLength": 1
},
"unpaid": {
"type": "number"
},
"quoteId": {
"type": "number"
},
"netGoods": {
"type": "number"
},
"procDate": {
"type": "string",
"minLength": 1
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"entryDate": {
"type": "string",
"minLength": 1
},
"saleRepId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Optional Sales Rep id. No default is injected.",
"exclusiveMinimum": 0
},
"vatTypeId": {
"type": "number"
},
"customerId": {
"type": "number"
},
"deliveryTo": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"netServices": {
"type": "number"
},
"saleRepCode": {
"type": "string",
"minLength": 1,
"description": "Optional Sales Rep code accompanying saleRepId. A code alone does not select a representative."
},
"customFields": {
"type": "array",
"items": {}
},
"productTrans": {
"type": "array",
"items": {
"type": "object",
"required": [
"amount",
"amountNet",
"percentage",
"productCode",
"quantity",
"unitPrice",
"vat",
"vatRateId",
"vatAnalysisTypeId",
"tranNotes"
],
"properties": {
"id": {
"type": "number"
},
"vat": {
"type": "number"
},
"amount": {
"type": "number"
},
"quantity": {
"type": "number"
},
"acEntries": {
"type": "array",
"items": {
"type": "object",
"required": [
"accountCode",
"analysisCategoryId",
"value"
],
"properties": {
"id": {
"type": "number"
},
"value": {
"type": "number"
},
"accountCode": {
"type": "string",
"minLength": 1
},
"description": {
"type": "string"
},
"analysisCategoryId": {
"type": "number"
}
},
"additionalProperties": {}
}
},
"amountNet": {
"type": "number"
},
"productId": {
"type": "number"
},
"tranNotes": {
"type": "array",
"items": {
"type": "string"
}
},
"unitPrice": {
"type": "number"
},
"vatRateId": {
"type": "number"
},
"percentage": {
"type": "number"
},
"productCode": {
"type": "string",
"minLength": 1
},
"vatAnalysisTypeId": {
"type": "number"
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
}
},
"additionalProperties": {}
}
},
"bookTranTypeId": {
"type": "number"
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
}
},
"description": "Complete BRC sales-invoice payload. Use nested productTrans lines with nested acEntries, matching brc_create_sales_invoice_gen_ref.",
"additionalProperties": {}
},
"opCode": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "BRC batch operation code. Use 1 to create a sales invoice."
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this invoice."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"priceBasis": {
"enum": [
"net",
"gross"
],
"type": "string",
"description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"confirmCrAnalysisCategory": {
"type": "boolean",
"description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines."
},
"confirmCounterpartyExplicit": {
"type": "boolean",
"description": "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."
}
}
}{
"title": "Batch Sales Invoices",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_sales_reps — Batch Sales Representatives
Processes a batch of sales representatives using explicit code and name fields. Maximum 100 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"opCode",
"item"
],
"properties": {
"item": {
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string",
"minLength": 1,
"description": "BRC sales representative code. BRC may enforce additional server-side code limits."
},
"name": {
"type": "string",
"minLength": 1,
"description": "Sales representative name."
}
},
"additionalProperties": false
},
"opCode": {
"type": "number",
"const": 1,
"description": "BRC batch create operation code. Must be 1."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Batch Sales Representatives",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_suppliers — Batch Suppliers
Processes a batch of suppliers using explicit identity, VAT classification, and optional contact fields. Maximum 100 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"opCode",
"item"
],
"properties": {
"item": {
"type": "object",
"required": [
"code",
"name",
"vatType",
"vatAnalysisTypeId"
],
"properties": {
"fax": {
"type": "string",
"description": "Optional fax number. Blank values are accepted and omitted by the existing builder."
},
"code": {
"type": "string",
"maxLength": 8,
"minLength": 1,
"description": "BRC account code, maximum eight characters."
},
"name": {
"type": "string",
"minLength": 1,
"description": "Customer or supplier name."
},
"email": {
"type": "string",
"description": "Optional email address. Blank values are accepted and omitted by the existing builder."
},
"phone": {
"type": "string",
"description": "Optional phone number. Blank values are accepted and omitted by the existing builder."
},
"mobile": {
"type": "string",
"description": "Optional mobile number. Blank values are accepted and omitted by the existing builder."
},
"vatReg": {
"type": "string",
"description": "Optional VAT registration number. Blank values are accepted and omitted by the existing builder."
},
"address": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional address lines."
},
"contact": {
"type": "string",
"description": "Optional contact name. Blank values are accepted and omitted by the existing builder."
},
"vatType": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT type integer. Resolve the intended value from the connected company's VAT reference data.",
"exclusiveMinimum": 0
},
"creditTerms": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Optional credit terms in days."
},
"vatRegistered": {
"type": "boolean",
"description": "Whether the owner is VAT registered."
},
"additionalEmails": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional additional email addresses."
},
"vatAnalysisTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "BRC VAT analysis type id."
},
"businessIdentifierCode": {
"type": "string",
"description": "Optional BIC. Blank values are accepted and omitted by the existing builder."
},
"internationalBankAccountNumber": {
"type": "string",
"description": "Optional IBAN. Blank values are accepted and omitted by the existing builder."
}
},
"additionalProperties": false
},
"opCode": {
"type": "number",
"const": 1,
"description": "BRC batch create operation code. Must be 1."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Batch Suppliers",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_customers — Batch Customers
Processes a batch of customers using explicit identity, VAT classification, and optional contact fields. Maximum 100 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"opCode",
"item"
],
"properties": {
"item": {
"type": "object",
"required": [
"code",
"name",
"vatType",
"vatAnalysisTypeId"
],
"properties": {
"fax": {
"type": "string",
"description": "Optional fax number. Blank values are accepted and omitted by the existing builder."
},
"code": {
"type": "string",
"maxLength": 8,
"minLength": 1,
"description": "BRC account code, maximum eight characters."
},
"name": {
"type": "string",
"minLength": 1,
"description": "Customer or supplier name."
},
"email": {
"type": "string",
"description": "Optional email address. Blank values are accepted and omitted by the existing builder."
},
"phone": {
"type": "string",
"description": "Optional phone number. Blank values are accepted and omitted by the existing builder."
},
"mobile": {
"type": "string",
"description": "Optional mobile number. Blank values are accepted and omitted by the existing builder."
},
"vatReg": {
"type": "string",
"description": "Optional VAT registration number. Blank values are accepted and omitted by the existing builder."
},
"address": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional address lines."
},
"contact": {
"type": "string",
"description": "Optional contact name. Blank values are accepted and omitted by the existing builder."
},
"vatType": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT type integer. Resolve the intended value from the connected company's VAT reference data.",
"exclusiveMinimum": 0
},
"creditTerms": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Optional credit terms in days."
},
"vatRegistered": {
"type": "boolean",
"description": "Whether the owner is VAT registered."
},
"additionalEmails": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional additional email addresses."
},
"vatAnalysisTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "BRC VAT analysis type id."
},
"businessIdentifierCode": {
"type": "string",
"description": "Optional BIC. Blank values are accepted and omitted by the existing builder."
},
"internationalBankAccountNumber": {
"type": "string",
"description": "Optional IBAN. Blank values are accepted and omitted by the existing builder."
}
},
"additionalProperties": false
},
"opCode": {
"type": "number",
"const": 1,
"description": "BRC batch create operation code. Must be 1."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"detailedResponse": {
"type": "boolean",
"description": "Return full payload and BRC response for audit inspection. Default is compact."
}
}
}{
"title": "Batch Customers",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_batch_products — Batch Products
Processes a batch of products using explicit product type, VAT classification, price, and description fields. Maximum 100 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"items",
"routeToken"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"opCode",
"item"
],
"properties": {
"item": {
"type": "object",
"required": [
"stockCode",
"details",
"productTypeId",
"vatRateId",
"vatAnalysisTypeId",
"unitPrice",
"grossUnitPrice",
"hasDefaultVatRate"
],
"properties": {
"details": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1,
"description": "One or more non-empty product description lines."
},
"stockCode": {
"type": "string",
"minLength": 1,
"description": "BRC product code. BRC may enforce additional server-side code limits."
},
"unitPrice": {
"type": "number",
"minimum": 0,
"description": "Product unit price. Zero is valid for products whose price is supplied at transaction time."
},
"vatRateId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC VAT rate id. Select the intended VAT rate explicitly.",
"exclusiveMinimum": 0
},
"productTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC product type id. Select the intended product type explicitly.",
"exclusiveMinimum": 0
},
"grossUnitPrice": {
"type": "boolean",
"description": "Whether unitPrice is VAT-inclusive."
},
"hasDefaultVatRate": {
"type": "boolean",
"description": "Whether the product uses its selected default VAT rate."
},
"vatAnalysisTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "BRC product VAT analysis type id."
}
},
"additionalProperties": false
},
"opCode": {
"type": "number",
"const": 1,
"description": "BRC batch create operation code. Must be 1."
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Batch items to process. Maximum 100 items per request."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Batch Products",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_list_sales — List Sales
Lists combined BRC sales entries, sales invoices and sales credit notes.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 500,
"exclusiveMinimum": 0
},
"page": {
"type": "integer",
"default": 1,
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"filter": {
"type": "string",
"description": "Optional OData $filter expression, only if this endpoint supports filtering."
},
"orderBy": {
"type": "string",
"description": "Optional OData $orderby expression, only if this endpoint supports ordering."
},
"pageSize": {
"type": "integer",
"default": 20,
"maximum": 500,
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Sales",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_process_vat_category_rates — Process VAT Category Rates
Processes VAT rates for VAT categories via POST /v1/vatCategories/vatRates. Requires a full vatCategoryRates array and confirmProcess=true. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"routeToken"
],
"properties": {
"payload": {
"type": "object",
"description": "Deprecated. Use vatCategoryRates instead of a raw payload object.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"effectiveDate": {
"type": "string",
"description": "Not a valid standalone payload. Use vatCategoryRates instead."
},
"confirmProcess": {
"type": "boolean",
"default": false
},
"vatCategoryRates": {
"type": "array",
"items": {
"type": "object",
"required": [
"vatCategoryId",
"vatRates"
],
"properties": {
"vatRates": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"percentage",
"orderIndex",
"isActive",
"isDefault",
"vatCategoryId"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"isActive": {
"type": "boolean"
},
"isDefault": {
"type": "boolean"
},
"orderIndex": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"percentage": {
"type": "number"
},
"vatCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
}
},
"minItems": 1
},
"vatCategoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
}
},
"minItems": 1,
"description": "Full BRC payload array for POST /v1/vatCategories/vatRates, e.g. [{ vatCategoryId: 1, vatRates: [...] }]."
}
}
}{
"title": "Process VAT Category Rates",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_get_deployment_policy — Get Deployment Policy
Returns the deployment capability and permission summary, including enabled action groups and development-mode status.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"title": "Get Deployment Policy",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_validate_transaction_date — Validate Transaction Date
Checks whether a proposed transaction date is inside the connected BRC company's current financial year.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"transactionDate"
],
"properties": {
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"transactionDate": {
"type": "string",
"description": "Date to validate in YYYY-MM-DD format."
}
}
}{
"title": "Validate Transaction Date",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_company_readiness_check — Check Company Readiness
Returns overall company readiness across connection, financial year, reference data, VAT, analysis categories and settings.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Check Company Readiness",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_resolve_book_transaction_type — Resolve Book Transaction Type
Resolves a company-specific bookTranTypeId against live transaction-type reference data. Descriptions and numeric IDs are not globally stable.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"bookTranTypeId"
],
"properties": {
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"bookTranTypeId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
}
}{
"title": "Resolve Book Transaction Type",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_route_request — Route Request
Routes a single user request to a RED workflow and uses its text for request classification and authorization provenance. Handles requests such as ‘how do I add a customer,’ ‘create a sales invoice,’ ‘read,’ ‘update,’ ‘delete,’ ‘correct,’ ‘undo,’ and ‘reverse.’ When host-signed original-request metadata is available, the text is checked against it before a route token is issued. Only the request being routed is needed; conversation history and prior turns are not required.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"message"
],
"properties": {
"message": {
"type": "string",
"minLength": 1,
"description": "The single user request being routed, such as 'add a customer'; not conversation history or prior turns. When host-signed original-request metadata is available, this text is checked against it and used to bind any route token to the request."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Optional selected company; binds the issued routeToken to that exact company. Legacy calls without it bind on first transactional use."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Route Request",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_red_help — Get Red Help
Returns Big Red Cloud help and manual Big Red Cloud instructions for how-to questions, including how do I queries and tutorials. Covers topics including sales invoices, purchases, customers, suppliers, banking, VAT, reports and company setup. Searches Freshdesk, YouTube, BRC Edu, webinars and screenshots. Read-only and available without a connected company. UI guidance in returned resources is official reference material; RED does not change company setup.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Text after the red-help command, for example how do I add a sales invoice or add a customer manually."
}
}
}{
"title": "Get Red Help",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_find_help_resources — Find Help Resources
Searches Big Red Cloud customer help across Freshdesk support articles, customer documentation, recorded webinar videos and upcoming webinars. Returns a synthesized answer, ordered guidance and public source metadata. Read-only and available without a connected company.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"question"
],
"properties": {
"source": {
"enum": [
"freshdesk",
"customer_docs",
"recorded_webinar",
"youtube_video",
"upcoming_webinar",
"all"
],
"type": "string",
"description": "Optional source filter: freshdesk, customer_docs, recorded_webinar, youtube_video, upcoming_webinar, or all."
},
"category": {
"type": "string",
"description": "Optional help category filter, for example bank_feeds or sales."
},
"question": {
"type": "string",
"minLength": 1,
"description": "Plain-English help question, for example how do bank feeds work or how do I reconcile my bank account."
},
"maxResults": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Maximum number of matching resources to return. Defaults to 5."
}
}
}{
"title": "Find Help Resources",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_help_resource_details — Get Help Resource Details
Returns detailed public help-resource content, ordered instruction blocks, signed screenshot links, source metadata and optional image content. Read-only and available without a connected company.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resourceId"
],
"properties": {
"question": {
"type": "string",
"minLength": 1,
"description": "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": {
"type": "integer",
"maximum": 8,
"minimum": 1,
"description": "Maximum Freshdesk screenshots to return. Defaults to 5. Hard maximum 8."
},
"resourceId": {
"type": "string",
"minLength": 1,
"description": "Resource ID from brc_red_help or brc_find_help_resources, for example customer_docs:bank-reconciliation or freshdesk:1001."
},
"includeImages": {
"type": "boolean",
"description": "When true, Freshdesk articles may include screenshot presentation. Defaults to true."
},
"imagePresentation": {
"enum": [
"links",
"inline",
"both"
],
"type": "string",
"description": "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."
}
}
}{
"title": "Get Help Resource Details",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_open_edu_admin — Open Education Administration
Returns the protected education-administration URL. Access requires Microsoft Entra sign-in and does not bypass authentication. The response contains no upload secret or bypass parameter.
{
"type": "object",
"properties": {}
}{
"title": "Open Education Administration",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_audit_log — List Audit Log
Returns current-session audit entries scoped to currently connected companies. Entries from other sessions, connections or companies are excluded.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"includeTechnicalDetails": {
"type": "boolean",
"default": false,
"description": "Only set this to true if the user asks for technical details. Sensitive values are still redacted."
}
}
}{
"title": "List Audit Log",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_generate_support_report — Generate Support Report
Returns a downloadable support diagnostic and a concise summary for the current session.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"companyName": {
"type": "string",
"minLength": 1,
"description": "Currently connected company to include in the diagnostic report."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Generate Support Report",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_clear_audit_log — Clear Audit Log
Clear the Red audit log for this MCP server session. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"confirmClear": {
"type": "boolean",
"default": false,
"description": "Must be true to confirm that the session audit log should be cleared."
},
"confirmWrite": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Clear Audit Log",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_send_sales_invoice_email — Send Sales Invoice Email
Sends a sales-invoice email to the customer address or an explicit recipient override. An unconfirmed call returns an email preview; confirmSend applies the send. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"salesInvoiceId",
"routeToken"
],
"properties": {
"sendMode": {
"enum": [
"single_with_bcc",
"separate"
],
"type": "string",
"description": "How to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails."
},
"toAddress": {
"type": "string",
"description": "Optional single recipient override. If omitted or empty, BRC uses the customer's email address."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmSend": {
"type": "boolean",
"default": false,
"description": "Must be true only after the user has reviewed the email preview and explicitly confirmed sending."
},
"fromAddress": {
"type": "string",
"description": "Optional sender address override."
},
"messageBody": {
"type": "string",
"description": "Optional custom email message body."
},
"toAddresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "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": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"salesInvoiceId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC field: salesInvoiceId.",
"exclusiveMinimum": 0
}
}
}{
"title": "Send Sales Invoice Email",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": true
}brc_send_email_statement — Send Account Statement Email
Sends a customer-statement email to the customer address or an explicit recipient override. An unconfirmed call returns an email preview; confirmSend applies the send. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"customerId",
"routeToken"
],
"properties": {
"sendMode": {
"enum": [
"single_with_bcc",
"separate"
],
"type": "string",
"description": "How to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails."
},
"toPeriod": {
"type": "string",
"description": "Statement period end (ISO date-time, e.g. 2026-05-31T00:00:00)."
},
"toAddress": {
"type": "string",
"description": "Optional single recipient override. If omitted or empty, BRC uses the customer's email address."
},
"customerId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC field: customerId.",
"exclusiveMinimum": 0
},
"fromPeriod": {
"type": "string",
"description": "Statement period start (ISO date-time, e.g. 2026-01-01T00:00:00)."
},
"minBalance": {
"type": "number",
"description": "Minimum balance threshold for transactions included on the statement."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmSend": {
"type": "boolean",
"default": false,
"description": "Must be true only after the user has reviewed the email preview and explicitly confirmed sending."
},
"fromAddress": {
"type": "string",
"description": "Optional sender address override."
},
"messageBody": {
"type": "string",
"description": "Optional custom email message body."
},
"toAddresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "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": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Send Account Statement Email",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": true
}brc_send_quote_email — Send Quote Email
Sends a quote email to the customer address or an explicit recipient override. An unconfirmed call returns an email preview; confirmSend applies the send. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"quoteId",
"routeToken"
],
"properties": {
"quoteId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "BRC field: quoteId.",
"exclusiveMinimum": 0
},
"sendMode": {
"enum": [
"single_with_bcc",
"separate"
],
"type": "string",
"description": "How to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails."
},
"toAddress": {
"type": "string",
"description": "Optional single recipient override. If omitted or empty, BRC uses the customer's email address."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmSend": {
"type": "boolean",
"default": false,
"description": "Must be true only after the user has reviewed the email preview and explicitly confirmed sending."
},
"fromAddress": {
"type": "string",
"description": "Optional sender address override."
},
"messageBody": {
"type": "string",
"description": "Optional custom email message body."
},
"toAddresses": {
"type": "array",
"items": {
"type": "string"
},
"description": "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": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Send Quote Email",
"readOnlyHint": false,
"openWorldHint": true,
"destructiveHint": true
}brc_get_company_processing_settings — Get Company Processing Settings
Returns company processing settings that affect VAT-sensitive accounting workflows.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"includeRaw": {
"type": "boolean",
"default": false,
"description": "If true, includes the raw BRC settings record for operator review. Customer-facing responses should normally leave this false."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Company Processing Settings",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_company_reference_settings — Get Company Reference Settings
Returns quote and transaction reference settings. An Unknown quote-reference setting does not establish automatic reference generation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"includeRaw": {
"type": "boolean",
"default": false,
"description": "If true, includes the raw BRC company setup record for operator review. Customer-facing responses should normally leave this false."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Company Reference Settings",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_check_transaction_settings — Check Transaction Settings
Returns processing-setting warnings for one specified transaction workflow. It does not provide an overall company-readiness score.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"workflow"
],
"properties": {
"workflow": {
"enum": [
"sales_invoice",
"purchase",
"cash_receipt",
"statement"
],
"type": "string",
"description": "The workflow to check against the company processing settings."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Check Transaction Settings",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_list_allocation_resolvers — List Allocation Resolvers
Returns receiver transactions eligible for allocation updates.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"bookTranId"
],
"properties": {
"bookTranId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Book transaction id to allocate from, for example 1001.",
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Allocation Resolvers",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_update_allocations — Update Allocations
Updates transaction allocations using eligible receiver transactions and an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"bookTranId",
"allocationResolvers",
"routeToken"
],
"properties": {
"bookTranId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Book transaction id to allocate from, for example 1001.",
"exclusiveMinimum": 0
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "Must be true only after the user explicitly confirms posting the allocation update."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"allocationResolvers": {
"type": "array",
"items": {
"type": "object",
"required": [
"allocated",
"bookTranIdReceiver"
],
"properties": {
"id": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Existing allocation id, or 0 for a new allocation."
},
"discount": {
"type": "number",
"default": 0,
"minimum": 0,
"description": "Discount amount to apply to this allocation."
},
"allocated": {
"type": "number",
"minimum": 0,
"description": "Amount to allocate to the receiver transaction."
},
"bookTranIdReceiver": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Receiver book transaction id, for example the invoice being allocated against.",
"exclusiveMinimum": 0
}
}
},
"minItems": 1,
"description": "Allocations to create or update."
}
}
}{
"title": "Update Allocations",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_list_allocated_transactions — List Allocated Transactions
Returns existing transaction allocations and their identifiers.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"bookTranId"
],
"properties": {
"bookTranId": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Book transaction id to allocate from, for example 1001.",
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Allocated Transactions",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_delete_allocation_resolver — Delete Allocation Resolver
Reverses or deletes the specified allocation after returning an unconfirmed preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"routeToken"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Allocation resolver id to reverse/delete.",
"exclusiveMinimum": 0
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "Must be true only after the user explicitly confirms reversing/deleting this allocation."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Allocation Resolver",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_list_nominal_journal_batches — List Nominal Journal Batches
Returns nominal journal batches with identifiers and concurrency timestamps.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Optional page size.",
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Optional number of records to skip."
},
"filter": {
"type": "string",
"description": "Optional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-01-01T00:00:00"
},
"orderBy": {
"type": "string",
"description": "Optional OData order by. Ordering is allowed by id, for example: id desc."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Nominal Journal Batches",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_nominal_journal_batch — Get Nominal Journal Batch
Returns information about a single Nominal Journal Batch by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Nominal Journal Batch id.",
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Nominal Journal Batch",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_create_nominal_journal_batch — Create Nominal Journal Batch
Creates a nominal journal batch after returning an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"entryDate",
"procDate",
"total",
"accountTransactions",
"routeToken"
],
"properties": {
"total": {
"type": "number",
"minimum": 0,
"description": "Total journal amount."
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date, for example 2024-01-15T00:00:00."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date, for example 2024-01-15T00:00:00."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "Must be true only after the user explicitly confirms creating this Nominal Journal Batch."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"bookTranTypeId": {
"type": "integer",
"default": 7,
"maximum": 9007199254740991,
"description": "Book transaction type id. Nominal Journal Batch is usually 7.",
"exclusiveMinimum": 0
},
"accountTransactions": {
"type": "array",
"items": {
"type": "object",
"required": [
"acCode",
"description",
"procDate",
"reference",
"debit",
"credit"
],
"properties": {
"debit": {
"type": "number",
"minimum": 0,
"description": "Debit amount for this line."
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Nominal account code, for example 400 or 800."
},
"credit": {
"type": "number",
"minimum": 0,
"description": "Credit amount for this line."
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date for this transaction line."
},
"reference": {
"type": "string",
"minLength": 1,
"description": "Journal reference, for example NJ0001."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Line description, for example Sales or Expenses."
},
"firstDetail": {
"type": "string",
"default": "",
"description": "First detail text for this line."
},
"secondDetail": {
"type": "string",
"default": "",
"description": "Second detail text for this line."
}
}
},
"minItems": 2,
"description": "Nominal journal account transaction lines. Debits and credits should balance."
}
}
}{
"title": "Create Nominal Journal Batch",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_update_nominal_journal_batch — Update Nominal Journal Batch
Updates a nominal journal batch using its current concurrency timestamps. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"entryDate",
"procDate",
"total",
"timestamp",
"accountTransactions",
"routeToken"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Nominal Journal Batch id.",
"exclusiveMinimum": 0
},
"total": {
"type": "number",
"minimum": 0
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Date/time string, for example 2024-01-15T00:00:00."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Date/time string, for example 2024-01-15T00:00:00."
},
"timestamp": {
"type": "string",
"minLength": 1,
"description": "Base64 timestamp for the nominal journal batch."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "Must be true only after the user explicitly confirms updating this Nominal Journal Batch."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
},
"bookTranTypeId": {
"type": "integer",
"default": 7,
"maximum": 9007199254740991,
"description": "Book transaction type id. Nominal Journal Batch is usually 7.",
"exclusiveMinimum": 0
},
"accountTransactions": {
"type": "array",
"items": {
"type": "object",
"required": [
"acCode",
"description",
"procDate",
"reference",
"debit",
"credit",
"id",
"timeStamp"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Existing account transaction line id.",
"exclusiveMinimum": 0
},
"debit": {
"type": "number",
"minimum": 0,
"description": "Debit amount for this line."
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Nominal account code, for example 400 or 800."
},
"credit": {
"type": "number",
"minimum": 0,
"description": "Credit amount for this line."
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date for this transaction line."
},
"reference": {
"type": "string",
"minLength": 1,
"description": "Journal reference, for example NJ0001."
},
"timeStamp": {
"type": "string",
"minLength": 1,
"description": "Base64 timestamp for this account transaction line."
},
"description": {
"type": "string",
"minLength": 1,
"description": "Line description, for example Sales or Expenses."
},
"firstDetail": {
"type": "string",
"default": "",
"description": "First detail text for this line."
},
"secondDetail": {
"type": "string",
"default": "",
"description": "Second detail text for this line."
}
}
},
"minItems": 2,
"description": "Updated nominal journal account transaction lines."
}
}
}{
"title": "Update Nominal Journal Batch",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_nominal_journal_batch — Delete Nominal Journal Batch
Deletes a nominal journal batch using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"timestamp",
"routeToken"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Nominal Journal Batch id.",
"exclusiveMinimum": 0
},
"timestamp": {
"type": "string",
"minLength": 1,
"description": "Base64 timestamp returned by the Nominal Journal Batch, for example 7aIZQIbL3gg=."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "Must be true only after the user explicitly confirms deleting this Nominal Journal Batch."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Nominal Journal Batch",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_list_accruals — List Accruals
Returns a list of the company's Accruals. Supports optional OData filtering by entryDate. Supports optional ordering by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Optional page size.",
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Optional number of records to skip."
},
"filter": {
"type": "string",
"description": "Optional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-03-01T00:00:00."
},
"orderBy": {
"type": "string",
"description": "Optional OData order by. Ordering is allowed by id, for example: id desc."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Accruals",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_accrual — Get Accrual
Returns information about a single parent Accrual by id. Child accruals are not exposed by the public API.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Parent accrual id.",
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Accrual",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_create_accrual — Create Accrual
Creates an accrual after returning an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"acCode",
"entryDate",
"procDate",
"reference",
"total",
"routeToken"
],
"properties": {
"total": {
"type": "number",
"description": "Accrual total amount."
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Nominal account code, for example 4000."
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date, for example 2024-03-15T00:00:00."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date, for example 2024-03-01T00:00:00."
},
"reference": {
"type": "string",
"minLength": 1,
"description": "Accrual reference, for example ACC0001."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"firstDetail": {
"type": "string",
"default": "",
"description": "First detail text."
},
"confirmWrite": {
"type": "boolean",
"description": "Must be true only after the user explicitly confirms creating this accrual."
},
"secondDetail": {
"type": "string",
"default": "",
"description": "Second detail text."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Create Accrual",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_update_accrual — Update Accrual
Updates an accrual using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"acCode",
"entryDate",
"procDate",
"reference",
"total",
"timestamp",
"routeToken"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Parent accrual id.",
"exclusiveMinimum": 0
},
"total": {
"type": "number",
"description": "Accrual total amount."
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Nominal account code, for example 4000."
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date, for example 2024-03-15T00:00:00."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date, for example 2024-03-01T00:00:00."
},
"reference": {
"type": "string",
"minLength": 1,
"description": "Accrual reference, for example ACC0001."
},
"timestamp": {
"type": "string",
"minLength": 1,
"description": "Base64 timestamp returned by the accrual, for example K94UQIbL3gg=."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"firstDetail": {
"type": "string",
"default": "",
"description": "First detail text."
},
"confirmWrite": {
"type": "boolean",
"description": "Must be true only after the user explicitly confirms updating this accrual."
},
"secondDetail": {
"type": "string",
"default": "",
"description": "Second detail text."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Update Accrual",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_accrual — Delete Accrual
Deletes an accrual using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"timestamp",
"routeToken"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Parent accrual id.",
"exclusiveMinimum": 0
},
"timestamp": {
"type": "string",
"minLength": 1,
"description": "Base64 timestamp returned by the accrual, for example K94UQIbL3gg=."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "Must be true only after the user explicitly confirms deleting this accrual."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Accrual",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_list_prepayments — List Prepayments
Returns a list of the company's Prepayments. Supports optional OData filtering by entryDate. Supports optional ordering by id.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName"
],
"properties": {
"top": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Optional page size.",
"exclusiveMinimum": 0
},
"skip": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Optional number of records to skip."
},
"filter": {
"type": "string",
"description": "Optional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-03-01T00:00:00."
},
"orderBy": {
"type": "string",
"description": "Optional OData order by. Ordering is allowed by id, for example: id desc."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "List Prepayments",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_get_prepayment — Get Prepayment
Returns information about a single parent Prepayment by id. Child prepayments are not exposed by the public API.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Parent prepayment id.",
"exclusiveMinimum": 0
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Get Prepayment",
"readOnlyHint": true,
"openWorldHint": false,
"destructiveHint": false
}brc_create_prepayment — Create Prepayment
Creates a prepayment after returning an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"acCode",
"entryDate",
"procDate",
"reference",
"total",
"routeToken"
],
"properties": {
"total": {
"type": "number",
"description": "Prepayment total amount."
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Nominal account code, for example 4000."
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date, for example 2024-03-15T00:00:00."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date, for example 2024-03-01T00:00:00."
},
"reference": {
"type": "string",
"minLength": 1,
"description": "Prepayment reference, for example PRE0001."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"firstDetail": {
"type": "string",
"default": "",
"description": "First detail text."
},
"confirmWrite": {
"type": "boolean",
"description": "Must be true only after the user explicitly confirms creating this prepayment."
},
"secondDetail": {
"type": "string",
"default": "",
"description": "Second detail text."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Create Prepayment",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_update_prepayment — Update Prepayment
Updates a prepayment using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"acCode",
"entryDate",
"procDate",
"reference",
"total",
"timestamp",
"routeToken"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Parent prepayment id.",
"exclusiveMinimum": 0
},
"total": {
"type": "number",
"description": "Prepayment total amount."
},
"acCode": {
"type": "string",
"minLength": 1,
"description": "Nominal account code, for example 4000."
},
"procDate": {
"type": "string",
"minLength": 1,
"description": "Processing date, for example 2024-03-15T00:00:00."
},
"entryDate": {
"type": "string",
"minLength": 1,
"description": "Entry date, for example 2024-03-01T00:00:00."
},
"reference": {
"type": "string",
"minLength": 1,
"description": "Prepayment reference, for example PRE0001."
},
"timestamp": {
"type": "string",
"minLength": 1,
"description": "Base64 timestamp returned by the prepayment, for example bgUcQIbL3gg=."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"firstDetail": {
"type": "string",
"default": "",
"description": "First detail text."
},
"confirmWrite": {
"type": "boolean",
"description": "Must be true only after the user explicitly confirms updating this prepayment."
},
"secondDetail": {
"type": "string",
"default": "",
"description": "Second detail text."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Update Prepayment",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}brc_delete_prepayment — Delete Prepayment
Deletes a prepayment using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"companyName",
"id",
"timestamp",
"routeToken"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Parent prepayment id.",
"exclusiveMinimum": 0
},
"timestamp": {
"type": "string",
"minLength": 1,
"description": "Base64 timestamp returned by the prepayment, for example bgUcQIbL3gg=."
},
"routeToken": {
"type": "string",
"minLength": 1,
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite."
},
"companyName": {
"type": "string",
"minLength": 1,
"description": "Company context name, for example YOUR-COMPANY-NAME."
},
"confirmWrite": {
"type": "boolean",
"description": "Must be true only after the user explicitly confirms deleting this prepayment."
},
"connectionRef": {
"type": "string",
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials."
}
}
}{
"title": "Delete Prepayment",
"readOnlyHint": false,
"openWorldHint": false,
"destructiveHint": true
}Prompts
3 advertised
brc_setup_company — Connect a BRC company
Guides the user through connecting a BRC company context and checking readiness.
- companyName
- Display name for the company context, for example YOUR-COMPANY-NAME.
brc_safe_company_review — Review company data safely
Starts a read-only review of a connected company.
- companyName
- Connected company context name. (required)
brc_create_quote_workflow — Create a quote safely
Guides a safe quote creation workflow with confirmation.
- companyName
- Connected company context name. (required)
Resources
3 advertised
brc_help — Big Red Cloud Help
Current getting-started guide for using Red with Big Red Cloud.
brc://helpbrc_examples — Big Red Cloud Example Prompts
Example questions and requests customers can type into the chat.
brc://examplesbrc_safety — Big Red Cloud Safety Guide
Guidance for safely reading and changing company data.
brc://safety90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-06: 1 of 1 checks answered
- 2026-11-07: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 2115 ms
- 95th percentile latency
- 2115 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 2115 ms · metadata changed · 159 tool(s), 3 resource(s), 0 resource template(s), 3 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http red-mcp https://red.bigredcloud.com/mcpCodex
codex mcp add red-mcp --url https://red.bigredcloud.com/mcpCursor
{
"mcpServers": {
"red-mcp": {
"url": "https://red.bigredcloud.com/mcp"
}
}
}Cline
{
"mcpServers": {
"red-mcp": {
"type": "streamableHttp",
"url": "https://red.bigredcloud.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"red-mcp": {
"type": "http",
"url": "https://red.bigredcloud.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http red-mcp https://red.bigredcloud.com/mcpClaude Desktop
https://red.bigredcloud.com/mcpWindsurf
{
"mcpServers": {
"red-mcp": {
"serverUrl": "https://red.bigredcloud.com/mcp"
}
}
}Let your agent find its tools
Find servers like Red MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.