mcp server
Red by Big Red Cloud
Secure MCP access to Big Red Cloud accounting data, workflows, help and training.
Description as published by the maintainer. Source
- version 1.4.0
- active
active — Most recent push to the repository was 2026-08-05.
What this server can do
159 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
brc_batch_cash_payments(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Processes a batch of BRC cash payments. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, items, routeToken.
brc_batch_cash_receipts(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Processes a batch of BRC cash receipts. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, items, routeToken.
brc_batch_customers(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory)- Processes a batch of customers. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, items, routeToken.
brc_batch_payments(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Processes a batch of BRC payments. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, items, routeToken.
brc_batch_products(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory)- Processes a batch of products. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, items, routeToken.
brc_batch_purchases(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Processes a batch of purchases. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, items, routeToken.
brc_batch_quotes(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Processes a batch of quotes. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, items, routeToken.
brc_batch_sales_credit_notes(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Processes a batch of sales credit notes. Do not invent productId values and do not use productId 0 or 1 as placeholders. productId 0 and 1 are treated as placeholders and are blocked at runtime before preview-before-posting and before posting. If a product line is needed, first call brc_list_products and use a real product from the connected company. If no suitable product exists, ask the user whether to create/select a product, or use a service/non-product line only if the endpoint supports it. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, items, routeToken.
brc_batch_sales_entries(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Processes a batch of sales entries. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, items, routeToken.
brc_batch_sales_invoices(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Processes a batch of sales invoices. Batch sales invoices apply the same safety checks as single sales invoices: productId 0/1 placeholder blocking before preview-before-posting and posting; Sales VAT category validation before preview-before-posting and posting; Gross Price Entry priceBasis handling; CR analysis category confirmation; and counterparty confirmation covering all listed customers. If the batch includes multiple customers, confirming means confirming all listed customers, not just one. Set confirmCrAnalysisCategory=true at batch level only after the user confirms CR sales analysis account codes are intentional. Per item, the BRC "Note" field (JSON `note`) defaults to the customer name when omitted (never the product name), and the BRC "Delivery To" address (JSON `deliveryTo`) is only included when explicitly provided. Do not invent productId values and do not use productId 0 or 1 as placeholders. productId 0 and 1 are treated as placeholders and are blocked at runtime before preview-before-posting and before posting. If a product line is needed, first call brc_list_products and use a real product from the connected company. If no suitable product exists, ask the user whether to create/select a product, or use a service/non-product line only if the endpoint supports it. Sales invoices must use Sales VAT rates. Purchase/non-Sales VAT rates are blocked before preview-before-posting and before posting, even if the VAT percentage matches. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, items, routeToken.
brc_batch_sales_reps(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory)- Processes a batch of sales reps. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, items, routeToken.
brc_batch_suppliers(items, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory)- Processes a batch of suppliers. Maximum 20 items per batch request. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, items, routeToken.
brc_check_transaction_settings(workflow, companyName, connectionRef)- Checks BRC company processing settings before a VAT-sensitive or payment-terms-sensitive transaction workflow. Returns warnings that should be shown before creating or changing records. Use this for one workflow (sales invoice, purchase, cash receipt, or statement). For overall company readiness (connection, financial year, Sales VAT, Sales Analysis, reference data), use brc_company_readiness_check instead. Required: companyName, workflow.
brc_clear_all_company_api_keys(connectionRef)- Clears all connection credentials for all company contexts from MCP server memory.
brc_clear_audit_log(confirmClear, confirmWrite, connectionRef)- Clear the Red audit log for this MCP server session. First call without confirmWrite: true returns confirmation_required and a payload preview — show a plain-English preview before posting in chat, then retry with confirmWrite: true only after explicit user confirmation in a later message. Red shows what it will post and waits for confirmation. Passing preflight is not confirmation.
brc_clear_company_api_key(companyName, connectionRef)- Clears the API key for a named company context from MCP server memory. Required: companyName.
brc_close_quote(id, routeToken, companyName, confirmWrite, connectionRef)- Closes a BRC quote. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_company_readiness_check(companyName, connectionRef)- Read-only company health and readiness check for a connected Big Red Cloud company. Reports connection status, financial year, sample reference data (customers, products, suppliers, sales reps), Sales VAT rates, Sales Analysis categories, processing settings, and reference settings. Use this for overall company readiness before starting work. For warnings about a specific VAT-sensitive workflow (sales invoice, purchase, cash receipt, statement), use brc_check_transaction_settings instead — that tool checks one workflow's processing settings, while this tool scores overall company readiness. Required: companyName.
brc_confirm_company_connection(code, connectionRef)- Claims a completed secure Red connection code for the current MCP session. Use after the user has submitted the secure connection page and returns to this chat with the confirmation code shown on the success page (for example when the MCP session changed after opening the browser). Returns an opaque connectionRef for later tool calls when the MCP client rotates session ids (for example Vibe/Mistral). Pass it silently in tool arguments — do not show connectionRef or redconn_ values to normal users. After confirm succeeds, keep passing the same connectionRef on every later tool call — do not call brc_start_company_connection while that connectionRef still works. Never exposes connection credentials. Required: code.
brc_create_accrual(total, acCode, procDate, entryDate, reference, routeToken, companyName, firstDetail, confirmWrite, secondDetail, connectionRef)- Creates a new parent Accrual. The API accepts only the parent transaction shape and relies on shared logic to generate the reversing child transaction. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed creation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, acCode, entryDate, procDate, reference, total, routeToken.
brc_create_bank_account(acCode, address, balance, details, lastChq, payload, sortCode, categoryId, routeToken, accountName, companyName, accountNumber, confirmCreate, connectionRef, isDefaultBank, nominalAcCode, creditorScheme, bankFeedsSource, businessIdentifierCode, internationalBankAccountNumber)- Creates a BRC bank account. Do not call this tool with confirmCreate=true until the user has reviewed a plain-English summary and explicitly confirmed creation. Required fields: acCode, details, lastChq, and nominalAcCode. categoryId is optional; BRC may create the Bank Payments category automatically when categoryId is omitted. nominalAcCode must reference an existing balance-sheet bank nominal account created in BRC setup. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, routeToken.
brc_create_cash_payment(note, total, acCode, ledger, discount, procDate, entryDate, lodgement, routeToken, supplierId, accountCode, companyName, description, confirmWrite, bankAccountId, connectionRef, bookTranTypeId, bankAccountCode, analysisCategoryId, confirmCounterpartyExplicit)- Creates a BRC cash payment. Use supplierId + ledger for supplier payments, bankAccountId + lodgement for bank lodgements, or analysisCategoryId + accountCode for analysed expenses. Analysis categories must be from the Cash Payments book (CP01-CP03) and accountCode must match the category. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, note, total, routeToken.
brc_create_cash_receipt(note, total, acCode, ledger, details, payload, discount, procDate, totalNet, totalVAT, totalVat, acEntries, entryDate, reference, vatRateId, vatTypeId, customerId, percentage, routeToken, vatEntries, accountCode, companyName, description, unallocated, confirmWrite, customFields, connectionRef, vatPercentage, bookTranTypeId, detailCollection, analysisCategoryId, confirmCounterpartyExplicit)- Creates a BRC cash receipt. Accepts either a raw payload object or common flat fields. entryDate/procDate default to today. VAT rate fields are only sent when the company's VAT on Cash Receipt setting is enabled. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, routeToken.
brc_create_customer(payload, routeToken, companyName, confirmWrite, connectionRef)- Creates a BRC customer using a raw BRC payload. Required payload fields: code and name — ask the user if either is missing and return without inventing values. Omit optional fields the user did not provide (address, contact, phone, email, credit terms, VAT registration, and similar). Do not invent placeholders such as Test Address, Dublin, Ireland, creditTerms=30, or vatRegistered=false. Does not create or update opening balance transactions. If the user provides an opening balance, warn them that it must be entered directly in Big Red Cloud. Before creating, check whether the customer email appears to match the customer name; if it may be a mismatch, warn the user and ask for confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, payload, routeToken.
brc_create_nominal_journal_batch(total, procDate, entryDate, routeToken, companyName, confirmWrite, connectionRef, bookTranTypeId, accountTransactions)- Creates a new Nominal Journal Batch. The journal should contain balanced debit and credit lines. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed creation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, entryDate, procDate, total, accountTransactions, routeToken.
brc_create_payment(note, total, acCode, discount, procDate, entryDate, reference, routeToken, supplierId, accountCode, companyName, description, confirmWrite, bankAccountId, connectionRef, bookTranTypeId, bankAccountCode, analysisCategoryId, confirmCounterpartyExplicit)- Creates a BRC payment from the Payments book. Use supplierId for supplier payments, or analysisCategoryId + accountCode for analysed bank payments. Analysis categories must be from the bank's Payments book (BP01-BP06) and accountCode must match the category. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, note, total, bankAccountId, bankAccountCode, routeToken.
brc_create_prepayment(total, acCode, procDate, entryDate, reference, routeToken, companyName, firstDetail, confirmWrite, secondDetail, connectionRef)- Creates a new parent Prepayment. The API accepts only the parent transaction shape and relies on shared logic to generate the reversing child transaction. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed creation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, acCode, entryDate, procDate, reference, total, routeToken.
brc_create_product(payload, routeToken, companyName, confirmWrite, connectionRef)- Creates a BRC product using a raw BRC payload. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, payload, routeToken.
brc_create_purchase(note, acCode, procDate, entryDate, netAmount, reference, vatRateId, routeToken, supplierId, accountCode, companyName, description, confirmWrite, connectionRef, vatPercentage, bookTranTypeId, analysisCategoryId, confirmCounterpartyExplicit)- Creates a BRC purchase using structured MCP fields. Requires a reference when the company is configured for manual purchase references; otherwise prefer brc_create_purchase_gen_ref. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, supplierId, acCode, note, entryDate, procDate, bookTranTypeId, analysisCategoryId, accountCode, description, netAmount, vatRateId, vatPercentage, routeToken.
brc_create_purchase_gen_ref(note, acCode, procDate, entryDate, netAmount, vatRateId, routeToken, supplierId, accountCode, companyName, description, confirmWrite, connectionRef, vatPercentage, bookTranTypeId, analysisCategoryId, confirmCounterpartyExplicit)- Creates a Purchases Book purchase with a generated reference using structured fields. Use when the company is configured for auto-generated purchase references. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, supplierId, acCode, note, entryDate, procDate, bookTranTypeId, analysisCategoryId, accountCode, description, netAmount, vatRateId, vatPercentage, routeToken.
brc_create_quote(acCode, comments, ddNumber, poNumber, procDate, quantity, tranNote, companyId, entryDate, productId, reference, saleRepId, unitPrice, vatRateId, vatTypeId, layoutType, routeToken, accountCode, companyName, productCode, saleRepCode, confirmWrite, connectionRef, vatPercentage, customerOwnerId, customerOwnerName, analysisCategoryId, confirmCrAnalysisCategory, confirmCounterpartyExplicit, confirmQuotesAutoGenerateInBrc)- Creates a BRC quote using structured MCP fields. Requires a quote reference when quote references are manual or unknown. Do not use when Quotes reference setting is Unknown unless the user has provided a quote reference. Previews before posting include a Missing or not provided section for blank customer phone or email only — warnings only, do not invent values. Nothing is written to Big Red Cloud until you confirm. Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, customerOwnerId, acCode, customerOwnerName, comments, entryDate, procDate, saleRepId, saleRepCode, productId, productCode, quantity, unitPrice, vatRateId, vatPercentage, tranNote, analysisCategoryId, accountCode, routeToken.
brc_create_quote_gen_ref(acCode, comments, ddNumber, poNumber, procDate, quantity, tranNote, companyId, entryDate, productId, reference, saleRepId, unitPrice, vatRateId, vatTypeId, layoutType, routeToken, accountCode, companyName, productCode, saleRepCode, confirmWrite, connectionRef, vatPercentage, customerOwnerId, customerOwnerName, analysisCategoryId, confirmCrAnalysisCategory, confirmCounterpartyExplicit, confirmQuotesAutoGenerateInBrc)- Creates a BRC quote with a generated reference using structured MCP fields. Use only when quote references are auto-generated in Big Red Cloud, or when the user has confirmed auto-generate after Quotes reference setting was Unknown. Previews before posting include a Missing or not provided section for blank customer phone or email only — warnings only, do not invent values. Nothing is written to Big Red Cloud until you confirm. Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, customerOwnerId, acCode, customerOwnerName, comments, entryDate, procDate, saleRepId, saleRepCode, productId, productCode, quantity, unitPrice, vatRateId, vatPercentage, tranNote, analysisCategoryId, accountCode, routeToken.
brc_create_sales_credit_note(note, acCode, procDate, quantity, entryDate, netAmount, productId, reference, saleRepId, unitPrice, vatRateId, customerId, routeToken, accountCode, companyName, description, productCode, saleRepCode, confirmWrite, connectionRef, vatPercentage, bookTranTypeId, analysisCategoryId, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Creates a BRC sales credit note using structured MCP fields. Requires a reference when the company is configured for manual sales references; otherwise prefer brc_create_sales_credit_note_gen_ref. Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, customerId, acCode, note, entryDate, procDate, bookTranTypeId, analysisCategoryId, accountCode, description, netAmount, vatRateId, vatPercentage, productId, productCode, quantity, unitPrice, saleRepId, saleRepCode, routeToken.
brc_create_sales_credit_note_gen_ref(payload, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Creates a BRC sales credit note with an auto-generated reference using a raw BRC payload. Use when the company is configured for auto-generated sales references. Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, payload, routeToken.
brc_create_sales_entry(note, acCode, procDate, entryDate, netAmount, vatRateId, customerId, routeToken, accountCode, companyName, description, confirmWrite, connectionRef, vatPercentage, bookTranTypeId, analysisCategoryId, confirmCounterpartyExplicit)- Creates a BRC sales entry using structured MCP fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, customerId, acCode, note, entryDate, procDate, bookTranTypeId, analysisCategoryId, accountCode, description, netAmount, vatRateId, vatPercentage, routeToken.
brc_create_sales_invoice(note, acCode, procDate, quantity, entryDate, netAmount, productId, reference, saleRepId, unitPrice, vatRateId, customerId, deliveryTo, priceBasis, routeToken, accountCode, companyName, description, productCode, saleRepCode, confirmWrite, customerName, connectionRef, vatPercentage, bookTranTypeId, analysisCategoryId, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Creates a BRC sales invoice using structured MCP fields. Requires a reference when the company is configured for manual sales references; otherwise prefer brc_create_sales_invoice_gen_ref. Previews before posting include a Missing or not provided section for blank customer phone or email only — warnings only, do not invent values. Nothing is written to Big Red Cloud until you confirm. Optional. BRC "Note" field on the sales document (JSON field `note`). Leave blank to default it to the customer name (BRC customer "Name" / JSON `name`). Do not use the product name as the note. Only set this when the user explicitly provides a note. Optional. BRC "Delivery To" address (JSON field `deliveryTo`). Leave blank unless the user explicitly provides a delivery address. Do not invent or default a delivery address (for example "MCP Test"). Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. When Gross Price Entry is enabled for sales invoicing, this tool requires priceBasis. Use priceBasis "gross" when unit prices are VAT-inclusive/gross, or priceBasis "net" when unit prices are VAT-exclusive/net. Do not tell the user to disable Gross Price Entry if they have provided priceBasis. Do not invent productId values and do not use productId 0 or 1 as placeholders. productId 0 and 1 are treated as placeholders and are blocked at runtime before preview-before-posting and before posting. If a product line is needed, first call brc_list_products and use a real product from the connected company. If no suitable product exists, ask the user whether to create/select a product, or use a service/non-product line only if the endpoint supports it. Sales invoices must use Sales VAT rates. Purchase/non-Sales VAT rates are blocked before preview-before-posting and before posting, even if the VAT percentage matches. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, customerId, acCode, entryDate, procDate, bookTranTypeId, analysisCategoryId, accountCode, description, netAmount, vatRateId, vatPercentage, productId, productCode, quantity, unitPrice, saleRepId, saleRepCode, routeToken.
brc_create_sales_invoice_gen_ref(payload, priceBasis, routeToken, companyName, confirmWrite, connectionRef, confirmCrAnalysisCategory, confirmCounterpartyExplicit)- Creates a BRC sales invoice with an auto-generated reference using a raw BRC payload. Use when the company is configured for auto-generated sales references. Previews before posting include a Missing or not provided section for blank customer phone or email only — warnings only, do not invent values. Nothing is written to Big Red Cloud until you confirm. In the raw payload, the BRC "Note" field (JSON `note`) defaults to the customer name (BRC customer "Name" / JSON `name`) when omitted and must never be set to the product name; the BRC "Delivery To" address (JSON `deliveryTo`) is only included when explicitly provided. Raw BRC payloads for multi-line sales invoices must use `productTrans[]` (one object per product line). Each product line must include its own nested `acEntries[]` for Sales analysis posting — do not send a top-level `acEntries` array on the invoice. Required header fields include customerId, acCode, entryDate, procDate, saleRepId, saleRepCode, bookTranTypeId, totalNet, totalVAT, total, and unpaid. Red validates line amounts, nested analysis values, qty × unit price (using useTaxInclusiveUnitPrice), and header totals before posting, and returns all validation issues together when the payload does not reconcile. Preview-before-posting still shows what Red will post and waits for confirmation before anything is written to Big Red Cloud. Optional. BRC "Note" field on the sales document (JSON field `note`). Leave blank to default it to the customer name (BRC customer "Name" / JSON `name`). Do not use the product name as the note. Only set this when the user explicitly provides a note. Optional. BRC "Delivery To" address (JSON field `deliveryTo`). Leave blank unless the user explicitly provides a delivery address. Do not invent or default a delivery address (for example "MCP Test"). Requires saleRepId and saleRepCode. Do not use default or demo sales rep values. If missing, list sales reps or ask the user to choose one before creating. Requires analysisCategoryId and accountCode from a Sales Analysis category on each product line. Do not default to CR01/Customer or the first listed category. Set confirmCrAnalysisCategory=true only after the user confirms a CR account code is intentional. When Gross Price Entry is enabled for sales invoicing, this tool requires priceBasis. Use priceBasis "gross" when unit prices are VAT-inclusive/gross, or priceBasis "net" when unit prices are VAT-exclusive/net. Do not tell the user to disable Gross Price Entry if they have provided priceBasis. Do not invent productId values and do not use productId 0 or 1 as placeholders. productId 0 and 1 are treated as placeholders and are blocked at runtime before preview-before-posting and before posting. If a product line is needed, first call brc_list_products and use a real product from the connected company. If no suitable product exists, ask the user whether to create/select a product, or use a service/non-product line only if the endpoint supports it. Sales invoices must use Sales VAT rates. Purchase/non-Sales VAT rates are blocked before preview-before-posting and before posting, even if the VAT percentage matches. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Also requires confirmCounterpartyExplicit: true once the user has explicitly named or confirmed the customer/supplier in the current conversation. Do not reuse a counterparty from an earlier preview without that confirmation. Required: companyName, payload, routeToken.
brc_create_sales_rep(code, name, routeToken, companyName, confirmWrite, connectionRef)- Creates a BRC sales rep using structured MCP fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, code, name, routeToken.
brc_create_supplier(payload, routeToken, companyName, confirmWrite, connectionRef)- Creates a BRC supplier using a raw BRC payload. Does not create or update opening balance transactions. If the user provides an opening balance, warn them that it must be entered directly in Big Red Cloud. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, payload, routeToken.
brc_delete_accrual(id, timestamp, routeToken, companyName, confirmWrite, connectionRef)- Removes an existing parent Accrual by id. Requires the accrual timestamp in Base64 string format. Use brc_get_accrual first to retrieve the current timestamp. Do not call with confirmWrite=true until the user explicitly confirms deletion. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, timestamp, routeToken.
brc_delete_allocation_resolver(id, routeToken, companyName, confirmWrite, connectionRef)- Reverses/deletes a single allocation by allocation resolver id. Use brc_list_allocated_transactions first to find the allocation id. Do not call with confirmWrite=true until the user explicitly confirms the reversal/deletion. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_bank_account(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC bank account by id. Only call this after the user has explicitly confirmed deletion. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_cash_payment(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC cash payment by id. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_cash_receipt(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC cash receipt by id. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_customer(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC customer by id. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_nominal_journal_batch(id, timestamp, routeToken, companyName, confirmWrite, connectionRef)- Removes an existing Nominal Journal Batch by id. Requires the batch timestamp in Base64 string format. Use brc_get_nominal_journal_batch first to retrieve the current timestamp. Do not call with confirmWrite=true until the user explicitly confirms deletion. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, timestamp, routeToken.
brc_delete_payment(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC payment by id. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_prepayment(id, timestamp, routeToken, companyName, confirmWrite, connectionRef)- Removes an existing parent Prepayment by id. Requires the prepayment timestamp in Base64 string format. Use brc_get_prepayment first to retrieve the current timestamp. Do not call with confirmWrite=true until the user explicitly confirms deletion. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, timestamp, routeToken.
brc_delete_product(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC product by id. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_purchase(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC purchase by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_quote(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC quote by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_sales_credit_note(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC sales credit note by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_sales_entry(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC sales entry by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_sales_invoice(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC sales invoice by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_sales_rep(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC sales rep by id using timestamp confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_delete_supplier(id, routeToken, companyName, confirmWrite, confirmDelete, connectionRef)- Deletes a BRC supplier by id. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_find_help_resources(source, category, question, maxResults)- Find Big Red Cloud customer help across Freshdesk support articles, customer documentation, recorded webinar videos, and upcoming live webinars. Use when the customer asks a support question or how-to question about Big Red Cloud. For reserved red-help / /red-help commands, prefer brc_red_help (this tool remains for backward compatibility). When the user's message begins with the reserved red-help command (red-help, red-help:, red-help,, or /red-help), treat it as a request for manual instructions — not permission to perform the accounting action. red-help is Red's reserved manual-help command. When a user begins a message with red-help, provide customer-help resources and manual instructions instead of performing the accounting action. Pass the user's question (including the red-help command); the server strips the command and searches with the cleaned query. In red-help mode: do not ask for customer details first; do not call create, update, delete, email, or batch tools unless the user later explicitly asks Red to perform the action. Use brc_start_company_connection only when the cleaned red-help query is specifically about connecting companies. Ordinary wording such as help me, how do I, or show me how does not by itself activate red-help mode — follow normal model-driven routing for those messages. Do not use for connecting companies, listing connected companies, clearing connections, or any company books data. Read-only. Does not require a connected company. Return a concise synthesized answer for the customer: direct answer, clear steps where applicable, then a Sources section with Articles / Videos groupings and exact public links from customerFacingSourcesMarkdown or the sources array. Use only publicUrl or registrationUrl values returned in resources for hyperlinks. Freshdesk links use bigredcloud.freshdesk.com — never rewrite them onto bigredcloud.com/support. Keep screenshot Markdown links beside their related steps — never move them into Sources. Prefer customer documentation for procedural questions, Freshdesk for detailed step-by-step instructions, recorded webinars for video walkthroughs, and upcoming webinars for training/onboarding/live help requests. When the customer asks about upcoming webinars and no upcoming_webinar resources are returned, use customerFacingEmptyUpcomingWebinarMarkdown — do not claim no webinars are scheduled, and do not present recorded webinars as upcoming. Do not show internal resource IDs, Azure blob names, storage URLs, relevance scores, or sync metadata to the customer. For Big Red Cloud how-to or tutorial questions, automatically open the best matching Freshdesk article from usedResourceIds with brc_get_help_resource_details using includeImages=true and imagePresentation=links. Place each relevant screenshot beside its step even when the user did not explicitly ask for images. Never claim no Freshdesk article exists when usedResourceIds includes a matching Freshdesk resource. Sources must list only usedResourceIds — never unrelated login, API-key, user, or webinar search hits. Under Sources, group Freshdesk / documentation under Articles and recorded webinars under Videos — omit an empty Videos heading. For procedural how-tos, automatically include the strongest topic-aligned training video under Videos when one exists — do not require the user to ask for a video. Always emit Sources before any Do this through Red section. When redActionAvailable is true, include customerFacingRedActionMarkdown after Sources and before support — do not start the action unless the user asks. Manual guidance must appear before any offer to perform the action through Red. Always end every help answer with Still need help? and [Contact Big Red Cloud Support](https://bigredcloud.com/contact/) — support must be last. Never claim company data was changed by a tutorial answer. Required: question.
brc_generate_sales_invoice_from_quote(quoteId, procDate, entryDate, routeToken, companyName, confirmWrite, connectionRef)- Generates a sales invoice from a BRC quote. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, quoteId, routeToken.
brc_get_accrual(id, companyName, connectionRef)- Returns information about a single parent Accrual by id. Child accruals are not exposed by the public API. Required: companyName, id.
brc_get_bank_account(id, companyName, connectionRef)- Gets one BRC bank account by id. Required: companyName, id.
brc_get_cash_payment(id, companyName, connectionRef)- Gets one BRC cash payment by id. Required: companyName, id.
brc_get_cash_receipt(id, companyName, connectionRef)- Gets one BRC cash receipt by id. Required: companyName, id.
brc_get_company_api_key_status(companyName, connectionRef)- Use when the user asks for an API key, secret, or what key was used. Also use for connection duration or time-left questions when listing all companies. Returns connection status only — never the key. The assistant must not repeat keys from chat history.
brc_get_company_logo(companyName, connectionRef)- Gets the company logo from BRC. Required: companyName.
brc_get_company_options(companyName, connectionRef)- Gets raw BRC company processing/options settings, including nominal ledger, VAT on cash receipts, gross price entry, margin VAT, reverse charge VAT, VAT discrepancy tolerance, and ageing options. Read-only in Red; changes must be made in Big Red Cloud. Required: companyName.
brc_get_company_processing_settings(includeRaw, companyName, connectionRef)- Reads BRC company processing/options settings that affect VAT, cash receipts, payment terms, debtor statements, gross price entry, and transaction creation behaviour. Use this before VAT-sensitive write workflows where possible. These settings are read-only in Red; changes must be made in Big Red Cloud. Required: companyName.
brc_get_company_reference_settings(includeRaw, companyName, connectionRef)- Reads BRC reference auto-generation settings for sales, purchases, quotes, debtors journal, and creditors journal. Use this before preparing or creating quotes, invoices, purchases, or other reference-sensitive records. If Quotes is Unknown, do not assume auto-generate; ask for a quote reference or user confirmation first. These settings are read-only in Red; changes must be made in Big Red Cloud. Required: companyName.
brc_get_company_setup_config(companyName, connectionRef)- Gets full BRC company setup configuration, including general details, financial year, reference settings, and processing options. Required: companyName.
brc_get_customer(id, companyName, connectionRef)- Gets one BRC customer by id. Required: companyName, id.
brc_get_customer_opening_balance(itemId, companyName, connectionRef)- Gets a customer's opening balance. Required: companyName, itemId.
brc_get_deployment_policy- Authoritative customer-facing permission and output policy summary for this Red session. Use when the user asks what they can do, what tools they have, what permissions are enabled, or whether technical details/code should be shown. Summarise the currently enabled read, write, delete, email, and batch capabilities in plain business language. Do not list MCP tool names, endpoint names, tool counts, JSON, schemas, local file paths, terminal commands, environment variables, or a full capability catalogue. Customer-facing answers must be plain-English business responses with evidence, assumptions, uncertainty, and limitations. Internal analysis is allowed, but code/scripts/commands/intermediate files must not be exposed to customer users unless dev mode is enabled. Assistant-only connection diagnostics (never include in customer answers): a missing result or empty list does not by itself mean the connection has expired; only a confirmed authentication failure should be treated as an invalid company credential.
brc_get_financial_year(companyName, connectionRef)- Gets BRC company financial year. Required: companyName.
brc_get_help_resource_details(question, maxImages, resourceId, includeImages, imagePresentation)- Load full help-resource details for a resourceId returned by brc_red_help or brc_find_help_resources. For Big Red Cloud how-to or tutorial questions, call this automatically for the best matching Freshdesk article with includeImages=true and imagePresentation=links — even when the user did not explicitly ask for screenshots. Freshdesk resources return cleaned article text, the canonical Freshdesk publicUrl when available, preferred instructionBlocks, ready-to-use customerFacingScreenshotMarkdown / customerFacingInstructionMarkdown, screenshotUrls for backward compatibility, Sources fields, optional Red-action fields, and optional MCP image content. When includeImages is true, use imagePresentation='links' unless the user explicitly asks for inline image content. Copy the exact Markdown links returned in customerFacingScreenshotMarkdown or customerFacingInstructionMarkdown into the final answer. Place each link after its related step. Use the short View image link text (or View image N when one step has multiple images) — do not paste the descriptive caption as link text or as a second instruction sentence. Never omit valid returned screenshot links after telling the user screenshots are available. Do not merely describe the screenshots. Do not say Here are the screenshots without including the links. Do not replace links with Screenshot 1, Tool result, Show Image, or invent different URLs. Do not depend on tool-result image previews being visible to the user — the final answer must contain the exact signed Markdown links. If no links are returned, clearly say that no matching screenshot was found. Pass the customer question when available so Freshdesk screenshots are selected from the matching workflow branch (for example existing customer versus add customer). Prefer instructionBlocks / customerFacingInstructionMarkdown when present: follow them in order and keep every screenshot Markdown link exact. Never label screenshot links Show Image. Do not invent captions or URLs. Do not group screenshots under a Relevant screenshots section when step-and-link Markdown is available. Omit screenshots from unused workflow branches. Omit unclear screenshots rather than guessing. Do not repeat a screenshot. When instructionBlocks are absent, use customerFacingScreenshotMarkdown with [View image](URL) links and place each after the most relevant paragraph where possible. Do not rewrite or alter supplied screenshot URLs. Copy customerFacingSourcesMarkdown into a Sources section using the exact publicUrl or registrationUrl returned by this tool. Group Freshdesk / documentation under Articles and recorded webinars under Videos — omit an empty Videos heading. Keep screenshot links beside steps — do not move them into Sources. When redActionAvailable is true, include customerFacingRedActionMarkdown after Sources. Do not start the Red action unless the user asks. Mention preview-before-posting for write actions. Always end with customerFacingSupportMarkdown (Still need help?) after Sources and any Red-action section. Freshdesk links use bigredcloud.freshdesk.com — never rewrite them onto bigredcloud.com/support. Customer documentation returns cleaned article text and the public docs URL. Recorded webinars return title, description, public video URL, and category. Upcoming webinars return title, weekday, description, topics, registration URL, and webinar-series page URL. Read-only. Does not require a connected company. MCP image content blocks are optional compatibility content when imagePresentation is inline or both. Do not claim screenshots were supplied when imageCount is 0 or when no Markdown links are returned. Do not expose Azure blob names, storage URLs, private Freshdesk image URLs, image hashes, or sync metadata in customer-facing text. Never claim company data was changed by a tutorial answer. Required: resourceId.
brc_get_nom_ac_ledger_by_ids(ids, companyName, connectionRef)- Gets nominal accounts for specific ids by calling GET /v1/nominalAccounts/{id} for each id. Month 1–Month 12 nominal figures are period movements for each financial month, not balances. Running balance = opening balance + cumulative monthly movements. Do not describe individual monthly movement values as monthly balances. If the user asks for balances over time, calculate them from opening balance plus cumulative movements, or explain that only movements are available. Required: companyName, ids.
brc_get_nominal_account_ledger_by_id(id, companyName, connectionRef)- Gets one BRC nominal account by id. Month 1–Month 12 nominal figures are period movements for each financial month, not balances. Running balance = opening balance + cumulative monthly movements. Do not describe individual monthly movement values as monthly balances. If the user asks for balances over time, calculate them from opening balance plus cumulative movements, or explain that only movements are available. Required: companyName, id.
brc_get_nominal_journal_batch(id, companyName, connectionRef)- Returns information about a single Nominal Journal Batch by id. Required: companyName, id.
brc_get_payment(id, companyName, connectionRef)- Gets one BRC payment by id. Required: companyName, id.
brc_get_prepayment(id, companyName, connectionRef)- Returns information about a single parent Prepayment by id. Child prepayments are not exposed by the public API. Required: companyName, id.
brc_get_product(id, companyName, connectionRef)- Gets one BRC product by id. Required: companyName, id.
brc_get_purchase(id, companyName, connectionRef)- Gets one BRC purchase by id. Required: companyName, id.
brc_get_quote(id, companyName, connectionRef)- Gets one BRC quote by id. Required: companyName, id.
brc_get_sales_credit_note(id, companyName, connectionRef)- Gets one BRC sales credit note by id. Required: companyName, id.
brc_get_sales_entry(id, companyName, connectionRef)- Gets one BRC sales entry by id. Required: companyName, id.
brc_get_sales_invoice(id, companyName, connectionRef)- Gets one BRC sales invoice by id. Required: companyName, id.
brc_get_sales_rep(id, companyName, connectionRef)- Gets one BRC sales rep by id. Required: companyName, id.
brc_get_supplier(id, companyName, connectionRef)- Gets one BRC supplier by id. Required: companyName, id.
brc_get_supplier_opening_balance(itemId, companyName, connectionRef)- Gets a supplier's opening balance. Required: companyName, itemId.
brc_getting_started- Use this whenever the user asks how to start, says start or getting started, wants to connect or reconnect companies, or asks for a concise overview of Red. Return the current customer-friendly overview, connection steps, help options, safe workflow, and example prompts. For a specific tutorial, screenshot, article, YouTube video, or webinar question — or any red-help / /red-help command — use brc_red_help (or brc_find_help_resources for compatibility). If the user asks what they can do or what permissions they have, call brc_get_deployment_policy instead and state only current permissions — do not list tool names or counts.
brc_grouped_nominal_accounts_report(companyName, connectionRef)- Creates a grouped nominal accounts report from GET /v1/nominalAccounts, grouping by account group/type fields when available. Month 1–Month 12 nominal figures are period movements for each financial month, not balances. Running balance = opening balance + cumulative monthly movements. Do not describe individual monthly movement values as monthly balances. If the user asks for balances over time, calculate them from opening balance plus cumulative movements, or explain that only movements are available. Required: companyName.
brc_list_accounts(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC accounts. Required: companyName.
brc_list_accruals(top, skip, filter, orderBy, companyName, connectionRef)- Returns a list of the company's Accruals. Supports optional OData filtering by entryDate. Supports optional ordering by id. Required: companyName.
brc_list_allocated_transactions(bookTranId, companyName, connectionRef)- Returns transactions already allocated from the specified sender book transaction. Use this to review existing allocations before reversing/deleting one. Requires bookTranId. Required: companyName, bookTranId.
brc_list_allocation_resolvers(bookTranId, companyName, connectionRef)- Returns transactions eligible for allocation from the specified sender book transaction. Use this before updating allocations so the user can see which receiver transactions are available. Requires bookTranId. Required: companyName, bookTranId.
brc_list_analysis_categories(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC analysis categories. For sales invoice and sales credit note product lines, choose a Sales analysis category that matches the income type. Do not default to a CR/customer category such as CR01 Customer — CR categories are customer control categories, not sales categories. If no clearly correct Sales category stands out, ask the user instead of picking the first plausible-looking one. Required: companyName.
brc_list_audit_log(connectionRef, includeTechnicalDetails)- Show a record of data changes (create, update, delete, batch, quote close/reopen, emails, etc.) made through this Red MCP server session. Read-only API calls are not logged. Use this as the source of truth for "what did I do today in Red?" style questions. When the user asks what they did "in Red" (or in Big Red Cloud), answer only from Red/BRC activity for the current Red session and for companies currently connected in this session: the Red/BRC audit log, BRC session actions, and connector-visible BRC activity. Never include activity from other MCP sessions, other users, other connections, or companies that are not currently connected (including ones that were disconnected or cleared). For "what did I do today/yesterday/last week in Red", only summarise current-session audit entries for currently connected companies; if older entries exist outside this scope, ignore them completely rather than reporting them. Do not include unrelated Claude chat history such as MCP debugging, Mistral debugging, coding work, or other non-BRC conversations unless the user explicitly asks for broader chat history.
brc_list_bank_accounts(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC bank accounts. Required: companyName.
brc_list_book_tran_types(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC book transaction types. Required: companyName.
brc_list_cash_payments(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC cash payments. Required: companyName.
brc_list_cash_receipts(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC cash receipts. Required: companyName.
brc_list_category_types(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC category types. Required: companyName.
brc_list_company_contexts(connectionRef)- Lists company contexts currently connected in this MCP server session. Use this when the user asks which companies are connected, how long the connection lasts, how much time is left, when companies disconnect, when the session expires, or what timezone the expiry is in. Present the result to the user with the customerMessage text, company names, and expiryMessage when connected. Answer duration and time-left questions using connectionDurationText, timeRemainingText, expiryTimeWithTimezoneText, expiryTimezoneName, expiryTimezoneAbbreviation, expiryUtcOffset, and expiryMessage from the response — do not say you do not know the current time or that you lack a live clock when timeRemainingText is present. Do not ask the user to check their device clock. Do not say local time on its own. Customer duration answers should explain how long the connection lasts, that a fresh secure link is needed after expiry, and that the one-time connection link itself cannot be reused. Do not mention authentication classifications, empty-result logic, connectionRef, rehydration, HTTP status codes, session bindings, or other internal diagnostics in customer answers. Do not show connectionRef, activeConnectionRef, redconn_ values, session IDs, or diagnostic metadata to normal users. Do not show raw ISO expiresAt or credentialType to normal users unless they specifically ask or dev mode is enabled. Connection credentials are never returned. If you have connectionRef from brc_confirm_company_connection, pass it silently on this call when the MCP client rotates session ids. An empty list with a working connectionRef means no companies are bound yet — not a reason to start a new connection if other tools already succeeded with the same connectionRef.
brc_list_company_settings(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC company settings. Required: companyName.
brc_list_customer_account_trans(itemId, companyName, connectionRef)- Gets a customer's account transactions. Required: companyName, itemId.
brc_list_customer_op_bal_trans(itemId, companyName, connectionRef)- Gets a customer's opening balance transaction list. Required: companyName, itemId.
brc_list_customer_quotes(itemId, companyName, connectionRef)- Gets quotes for a specific customer. Required: companyName, itemId.
brc_list_customers(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC customers. Required: companyName.
brc_list_customers_without_dormant(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC customers without dormant records. Required: companyName.
brc_list_nominal_accounts(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC nominal accounts. Month 1–Month 12 nominal figures are period movements for each financial month, not balances. Running balance = opening balance + cumulative monthly movements. Do not describe individual monthly movement values as monthly balances. If the user asks for balances over time, calculate them from opening balance plus cumulative movements, or explain that only movements are available. Required: companyName.
brc_list_nominal_journal_batches(top, skip, filter, orderBy, companyName, connectionRef)- Returns a list of the company's Nominal Journal Batches. Supports optional OData filtering by entryDate and ordering by id. Use this before updating or deleting a nominal journal batch so the user can identify the correct id and timestamp. Required: companyName.
brc_list_owner_type_groups(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC owner type groups. Required: companyName.
brc_list_owner_types(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC owner types. Required: companyName.
brc_list_payments(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC payments. Required: companyName.
brc_list_prepayments(top, skip, filter, orderBy, companyName, connectionRef)- Returns a list of the company's Prepayments. Supports optional OData filtering by entryDate. Supports optional ordering by id. Required: companyName.
brc_list_product_types(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC product types. Required: companyName.
brc_list_products(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC products. Required: companyName.
brc_list_products_without_dormant(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC products without dormant records. Required: companyName.
brc_list_purchases(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC purchases. Required: companyName.
brc_list_quotes(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC quotes. Required: companyName.
brc_list_sales(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists combined BRC sales entries, sales invoices and sales credit notes. Required: companyName.
brc_list_sales_credit_notes(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC sales credit notes. Required: companyName.
brc_list_sales_entries(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC sales entries. Required: companyName.
brc_list_sales_invoices(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC sales invoices. Required: companyName.
brc_list_sales_reps(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC sales reps. Required: companyName.
brc_list_supplier_account_trans(itemId, companyName, connectionRef)- Gets a supplier's account transactions. Required: companyName, itemId.
brc_list_supplier_op_bal_trans(itemId, companyName, connectionRef)- Gets a supplier's opening balance transaction list. Required: companyName, itemId.
brc_list_suppliers(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC suppliers. Required: companyName.
brc_list_user_defined_fields(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC user defined fields. Required: companyName.
brc_list_vat_analysis_types(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC VAT analysis types. Required: companyName.
brc_list_vat_categories(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC VAT categories (for example Sales, Purchases for Resale, Purchases not for Resale). Use this to tell which VAT category a VAT rate belongs to. Sales invoices and sales credit notes must use VAT rates from a Sales VAT category, not a purchase category. Required: companyName.
brc_list_vat_rates(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC VAT rates. Each rate belongs to a VAT category via vatCategoryId (for example Sales, Purchases for Resale, Purchases not for Resale). For a sales invoice or sales credit note line, use a VAT rate whose vatCategoryId is a Sales VAT category, even if a purchase rate has the same percentage. Cross-reference brc_list_vat_categories to group rates by Sales vs Purchase category before choosing. Required: companyName.
brc_list_vat_types(top, page, skip, filter, orderBy, pageSize, companyName, connectionRef)- Lists BRC VAT types. Required: companyName.
brc_multi_company_nom_ac_report(companyNames, connectionRef)- Creates a grouped nominal accounts report for multiple companies using GET /v1/nominalAccounts for each company. Month 1–Month 12 nominal figures are period movements for each financial month, not balances. Running balance = opening balance + cumulative monthly movements. Do not describe individual monthly movement values as monthly balances. If the user asks for balances over time, calculate them from opening balance plus cumulative movements, or explain that only movements are available. Required: companyNames.
brc_open_edu_admin- Return the protected URL for Red's content administration page (Freshdesk articles, YouTube videos, and visibility controls). Use when a Big Red Book / Big Red Cloud staff member asks to open Red's admin page, the BRC Edu admin page, or the content resources admin. Returns only the customer-facing protected admin URL — never a shared secret, query parameter, token, or bypass link. Opening the link still requires Microsoft Entra sign-in; only authorised staff can access the page. Does not bypass authentication. Does not require a connected company. Do not invent or append secret query parameters. Do not expose BRC_EDU_ADMIN_UPLOAD_SECRET or any upload secret.
brc_process_vat_category_rates(payload, routeToken, companyName, confirmWrite, connectionRef, effectiveDate, confirmProcess, vatCategoryRates)- Processes VAT rates for VAT categories via POST /v1/vatCategories/vatRates. Requires a full vatCategoryRates array and confirmProcess=true. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, routeToken.
brc_red_help(query)- MANDATORY FOR RED-HELP COMMANDS: When the user's message starts with red-help or /red-help, call this tool before searching for or calling any accounting action tool. Red Help — Manual Instructions and Resources. This tool gives manual Big Red Cloud instructions and searches Freshdesk, YouTube, BRC Edu, webinars, screenshots and other available help resources. red-help means the user does not want Red to perform the accounting action — never replace a red-help request with create, update, delete or post tools. Pass the text after red-help as the query. Examples: User: "red-help how do I add a sales invoice" Call: brc_red_help({ query: "how do I add a sales invoice" }) User: "/red-help add a customer manually" Call: brc_red_help({ query: "add a customer manually" }) Searchable for common accounting-help topics: manual instructions, how to, help article, tutorial, screenshots, sales invoice, purchase invoice, customer, supplier, bank reconciliation, credit note, payment, receipt, VAT, reports and company setup. Read-only. Does not require a connected company, companyName, connectionRef, or accounting record details. After results, call brc_get_help_resource_details for the best Freshdesk match with includeImages=true and imagePresentation=links. Recommended entry point for reserved red-help / /red-help commands. brc_find_help_resources remains available for backward compatibility. Required: query.
brc_reopen_quote(id, routeToken, companyName, confirmWrite, connectionRef)- Reopens a BRC quote. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_route_request(message, connectionRef)- MANDATORY FIRST STEP for Red requests that may create, update, delete, post, email, or batch-write company data. Classify and route a user request between Red's two main behaviours: action (perform the accounting workflow) and help (manual Big Red Cloud instructions). Also returns connection, read, unsupported_action, or unknown when those specialised modes apply. Pass the user's complete original message — never only a confirmation word such as yes or delete it when starting a new action. Action mode always returns a non-empty preferredTools list, allowedTools, and an opaque short-lived routeToken — pass that routeToken on every subsequent transactional tool call for the permitted workflow, including after lookup and preview. unsupported_action means Red cannot map the request to an enabled workflow — explain that to the user; do not invent a routeToken. Help mode runs the unified help search, returns manual resources, sets blockTransactionalTools true, and never issues a transactional routeToken. How-to wording (how do I, how can I, show me how, tell me how, where do I, what are the steps, manual steps for, red-help, /red-help) → mode help. Explicit action wording (add a customer, create a sales invoice, delete customer ABC, can you add a customer for me) → mode action with routeToken. A routeToken does not replace preview-before-posting or user confirmation (confirmWrite). Help mode does not persist — each brc_route_request call is classified independently unless returning confirmation continuation for a pending preview. Read-only classification and help search. Does not require a connected company. When a company is already connected, pass connectionRef silently so the routeToken can bind to that connection and survive MCP session rotation. Required: message.
brc_send_email_statement(sendMode, toPeriod, toAddress, customerId, fromPeriod, minBalance, routeToken, companyName, confirmSend, fromAddress, messageBody, toAddresses, bccAddresses, connectionRef)- Sends a customer statement email. Supported document type only. Red email sending is available for sales invoices, quotes, and customer statements — not for cash receipts, purchases, payments, bank accounts, customers, suppliers, products, reports, or other document types. If the user asks to email an unsupported document type, say Red cannot email it through the current MCP tools, list the supported types, and stop without preparing an email preview or attempting a workaround. Do not call this tool with confirmSend=true until the user has reviewed a plain-English email preview and explicitly confirmed they want to send it. The email preview must show the recipient email address clearly before asking for send confirmation. If there is no customer email on file and no recipient override, stop and ask for a recipient email address — do not send. Create/post confirmation and email send confirmation are separate steps. If the user provides multiple recipient addresses, ask whether to send one email using BCC or separate individual emails. Only use sendMode='separate' when the user explicitly chooses separate emails. Do not ask about BCC unless the user provides multiple recipients or asks to copy another address. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, customerId, routeToken.
brc_send_quote_email(quoteId, sendMode, toAddress, routeToken, companyName, confirmSend, fromAddress, messageBody, toAddresses, bccAddresses, connectionRef)- Sends a quote email. Supported document type only. Red email sending is available for sales invoices, quotes, and customer statements — not for cash receipts, purchases, payments, bank accounts, customers, suppliers, products, reports, or other document types. If the user asks to email an unsupported document type, say Red cannot email it through the current MCP tools, list the supported types, and stop without preparing an email preview or attempting a workaround. Do not call this tool with confirmSend=true until the user has reviewed a plain-English email preview and explicitly confirmed they want to send it. The email preview must show the recipient email address clearly before asking for send confirmation. If there is no customer email on file and no recipient override, stop and ask for a recipient email address — do not send. Create/post confirmation and email send confirmation are separate steps. If the user provides multiple recipient addresses, ask whether to send one email using BCC or separate individual emails. Only use sendMode='separate' when the user explicitly chooses separate emails. Do not ask about BCC unless the user provides multiple recipients or asks to copy another address. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, quoteId, routeToken.
brc_send_sales_invoice_email(sendMode, toAddress, routeToken, companyName, confirmSend, fromAddress, messageBody, toAddresses, bccAddresses, connectionRef, salesInvoiceId)- Sends a sales invoice email. Supported document type only. Red email sending is available for sales invoices, quotes, and customer statements — not for cash receipts, purchases, payments, bank accounts, customers, suppliers, products, reports, or other document types. If the user asks to email an unsupported document type, say Red cannot email it through the current MCP tools, list the supported types, and stop without preparing an email preview or attempting a workaround. Do not call this tool with confirmSend=true until the user has reviewed a plain-English email preview and explicitly confirmed they want to send it. The email preview must show the recipient email address clearly before asking for send confirmation. If there is no customer email on file and no recipient override, stop and ask for a recipient email address — do not send. Create/post confirmation and email send confirmation are separate steps. If the user provides multiple recipient addresses, ask whether to send one email using BCC or separate individual emails. Only use sendMode='separate' when the user explicitly chooses separate emails. Do not ask about BCC unless the user provides multiple recipients or asks to copy another address. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, salesInvoiceId, routeToken.
brc_start_company_connection(connectionRef)- Starts the secure Red company connection flow and generates a fresh one-time secure Red connection link and confirmation code. Use only when there is no active company connection, no valid connectionRef, the user explicitly asks to connect or reconnect, try again after a failed connection, expired session credentials, or when an old, used, or stale secure connection link no longer works. Do not call this tool when a valid connectionRef from brc_confirm_company_connection is already available and recent tool calls succeeded with it. Do not call this tool because a lookup returned no rows, partial data, or an empty list — that means no matching records, not an expired connection. Do not call this tool after successful company data retrieval unless the user explicitly asks to connect, reconnect, or add more companies. Always call this tool again to generate a new link — never reuse a previous connection link. Returns a one-time connection page URL (no time expiry, but each link works only once). On that page the user can enter a single company or upload a CSV for multiple companies — never in chat. After completing the secure page, the user should return to this chat and provide (copy/paste) the confirmation code shown on the success page. Do not paste an API key into chat.
brc_update_accrual(id, total, acCode, procDate, entryDate, reference, timestamp, routeToken, companyName, firstDetail, confirmWrite, secondDetail, connectionRef)- Updates an existing parent Accrual by id. Use brc_get_accrual first to retrieve the current accrual and timestamp. Child accruals are not exposed by the public API. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed the update. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, acCode, entryDate, procDate, reference, total, timestamp, routeToken.
brc_update_allocations(bookTranId, routeToken, companyName, confirmWrite, connectionRef, allocationResolvers)- Creates or updates allocations for a sender book transaction. Use brc_list_allocation_resolvers first to identify eligible receiver transactions. Do not call with confirmWrite=true until the user has reviewed the allocation preview and explicitly confirmed posting. Required fields: bookTranId and allocationResolvers with allocated amounts and receiver book transaction ids. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, bookTranId, allocationResolvers, routeToken.
brc_update_bank_account(id, payload, updates, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC bank account using merged fields. Before calling this tool, show the user a plain-English summary of the changes and ask for explicit confirmation. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_cash_payment(id, payload, updates, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC cash payment using merged fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_cash_receipt(id, payload, updates, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC cash receipt using merged fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_customer(id, payload, updates, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC customer using merged fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_nominal_journal_batch(id, total, procDate, entryDate, timestamp, routeToken, companyName, confirmWrite, connectionRef, bookTranTypeId, accountTransactions)- Updates an existing Nominal Journal Batch by id. Use brc_get_nominal_journal_batch first to retrieve the current batch, including timestamp and account transaction line timestamps. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed the update. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, entryDate, procDate, total, timestamp, accountTransactions, routeToken.
brc_update_payment(id, payload, updates, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC payment using merged fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_prepayment(id, total, acCode, procDate, entryDate, reference, timestamp, routeToken, companyName, firstDetail, confirmWrite, secondDetail, connectionRef)- Updates an existing parent Prepayment by id. Use brc_get_prepayment first to retrieve the current prepayment and timestamp. Child prepayments are not exposed by the public API. Do not call with confirmWrite=true until the user has reviewed the preview and explicitly confirmed the update. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, acCode, entryDate, procDate, reference, total, timestamp, routeToken.
brc_update_product(id, payload, updates, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC product using merged fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_purchase(id, note, acCode, procDate, entryDate, netAmount, vatRateId, routeToken, supplierId, accountCode, companyName, description, confirmWrite, connectionRef, vatPercentage, bookTranTypeId, analysisCategoryId)- Updates a BRC purchase using structured MCP fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_quote(id, note, reference, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC quote using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_sales_credit_note(id, note, reference, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC sales credit note using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_sales_entry(id, note, reference, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC sales entry using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_sales_invoice(id, note, reference, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC sales invoice using structured safe text/reference fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_sales_rep(id, code, name, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC sales rep using structured MCP fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_update_supplier(id, payload, updates, routeToken, companyName, confirmWrite, connectionRef)- Updates a BRC supplier using merged fields. Requires routeToken from brc_route_request for the matching action workflow. Call brc_route_request first with the user's complete original action request. Retain the returned routeToken through lookup, preview, and confirmation, and pass the same token on the final permitted transactional tool call. Never invent a placeholder token. A routeToken is not permission to post — preview-before-posting and confirmWrite/confirmDelete still apply. Required: companyName, id, routeToken.
brc_validate_transaction_date(companyName, connectionRef, transactionDate)- Checks whether a proposed transaction date is inside the connected BRC company's current financial year. Required: companyName, transactionDate.
Last successful function declaration observed on . Source: https://red.bigredcloud.com/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://red.bigredcloud.com/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| GitHub stars | 0 | Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. | cumulative, all time | GitHub | |
| Last commit | 2026-08-05 | Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. | point in time | GitHub | |
| Open issues | 0 | Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. | as of fetch | GitHub | |
| Latest published version | 1.4.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-07-30 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| License | Apache-2.0 | Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. | as of fetch | GitHub | |
| First listed in the MCP Registry | 2026-07-30 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| repository status | active | The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. | as of fetch | GitHub | |
| mcp tools declared | 159 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | red.bigredcloud.com | |
| mcp endpoint status | ok | The server listed 159 functions when asked. | as of probe | red.bigredcloud.com |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json