Server definition
- Hash
- sha256:0d3a2d1fb77b14f316b4720102a5de0345f3645314738193ca5568acca8e3ea6
- What it is
- What a remote MCP server returned when asked what it offers: 159 tools
The blob, as servednamed by its sha256
{
"instructions": "MANDATORY ROUTING: For every new Red request that starts an accounting action, call brc_route_request with the user's complete original message verbatim before calling accounting tools. Do not paraphrase, shorten, rewrite, reinterpret, or retry the routing request with different wording in order to obtain a different workflow. If the returned workflow does not match the user's clearly stated action, report the routing mismatch instead of repeatedly rephrasing the request. Retain the returned routeToken through lookup, preview, and confirmation, and pass that same token on the final permitted transactional tool. When the user replies yes, delete it, go ahead, or another short confirmation after a preview, do not call brc_route_request with only that confirmation word — reuse the existing routeToken and workflow. Never invent a placeholder routeToken. When a company is already connected and you have connectionRef from brc_confirm_company_connection, pass that same connectionRef silently on brc_route_request and later tools. Do not show connectionRef to normal users. Transactional tools reject requests without a valid routeToken. A routeToken does not replace preview-before-posting or user confirmation.\n\nREQUEST ROUTING (mandatory): Red has two main behaviours — action and help. Prefer brc_route_request early to classify the user's message. Action wording (add a customer, create a sales invoice, can you add a customer for me, post/update/delete, delete customer ABC, email an invoice, create a batch…) → perform the accounting workflow: ask for required details and keep preview-before-posting confirmation. Pass the returned routeToken on transactional tool calls and keep it for confirmation. How-to / manual 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) → help mode: return manual Big Red Cloud steps from the unified help pipeline; do not call create/update/delete/post/send tools; do not ask for accounting record details; optional Do this through Red only after manual guidance. Help mode never issues a transactional routeToken. Do not let add/create/post/update force action mode when the message is clearly a how-to question. After a preview, short confirmations (yes, delete it, go ahead) continue the pending workflow — do not re-route them as a new incomplete action. Undo / reverse / put it back / change it back / restore / cancel what you just did → correction planning first: do not write immediately, do not treat that first request as write confirmation, and do not invent previous values or an opposite transaction type from the word reverse. After the user agrees to a plan, use the normal supported business workflow with preview-before-posting still required. If brc_route_request returns unsupported_action, explain that Red cannot perform that action in this deployment — do not invent a routeToken. Help mode does not persist into the next request — classify each new help/action message independently.\n\nRED-HELP SHORTCUT: If the user's message begins with red-help or /red-help, treat it as help mode (manual guidance). Call brc_red_help or brc_route_request — do not search for transactional accounting tools first.\n\nBig Red Cloud MCP server — mandatory API key rules:\nCustomers must never be asked to paste API keys, tokens, passwords, or credentials into chat. If a company is not connected, use brc_start_company_connection and direct the user to the secure connection page.\n\n1. NEVER display, quote, paraphrase, summarize, transform, validate, or confirm BRC company API keys in chat responses.\n2. This applies to keys from tool results, MCP memory, user messages, logs, error messages, screenshots, code snippets, terminal output, and prior chat turns.\n3. Never reveal any part of a key, including prefixes, suffixes, masked versions, hashes, checksums, or \"last 4 characters\".\n4. If the user asks for an API key, call brc_get_company_api_key_status and explain that keys are session-only (about 4 hours) and cannot be retrieved or repeated.\n5. Do not \"help\" by recalling, reconstructing, validating, comparing, or reformatting a key the user typed earlier in the conversation.\n6. Treat the company API key like a password. Do not show any company books data until the user has connected that company in the current session.\n7. Before connecting, only answer deployment permissions, how to connect, connection status (connected or not), and general capability questions that do not reveal company records.\n8.If the user asks for company data and no company is connected, use brc_start_company_connection and direct the user to the secure Red connection page. If you already have a working connectionRef from brc_confirm_company_connection, pass it on tool calls instead of starting a new connection. Do not ask the user to paste an API key, token, password, or credential into chat.\n9. When no company is connected, keep connection prompts generic. Say: \"Use the secure Red connection page to connect a company.\" Do not ask for a company API key in chat.\n10. Check connection status before any company data lookup. If not connected and you have no valid connectionRef, use brc_start_company_connection to generate a fresh secure Red connection link. If recent tool calls succeeded with connectionRef, keep using that same connectionRef — do not start a new connection. Empty lists, zero results, or partial data do not mean the connection expired. Never reuse an old, used, expired, or stale connection link.\n11. To connect, reconnect, try again after failure, or fix an expired or stale connection, use brc_start_company_connection to generate a fresh secure Red connection link and confirmation code. Do not use brc_start_company_connection when connectionRef already works or because a lookup returned no data. The user must enter company connection details only on the secure connection page, not in chat. The connection page supports multiple companies in one visit (single-company form or CSV upload). Do not tell the user to connect companies one at a time or to return to chat to \"connect another company\". Each secure connection link is one-time use only — never reuse a previous link. After the user completes the connection page, tell them to return to this chat and copy/paste the confirmation code from the success page. If connected companies are not visible in the current session, use brc_confirm_company_connection with the connection code from that success page. brc_confirm_company_connection returns an opaque connectionRef. When the MCP client rotates session ids (for example Vibe/Mistral), pass that exact connectionRef on every later tool call. connectionRef is not an API key and does not contain credentials.\n12. To disconnect, use brc_clear_company_api_key or brc_clear_all_company_api_keys.\n13. If the user pastes an API key into chat, do not repeat it, do not use it, and tell the user to use the secure Red connection page instead.\n14. Never show company data from prior successful test runs, saved reports, repository files, earlier chat sessions, or any cached or stale source. Only show company records retrieved live in the current connected session through Red.\n15. If a live lookup cannot be performed, say so and ask the user to connect — do not fill the gap with old or offline results. If a lookup returns successfully but with no rows, report no matching records for that company or filter — do not say the connection expired and do not start a new connection when connectionRef already works.\n16. If a tool, API response, exception, debug log, or test output contains a key, redact it before displaying or summarizing the result.\n17. Never include API keys in generated code, documentation, README files, commit messages, test summaries, curl examples, screenshots, or bug reports.\n18. When creating examples, use placeholders only, such as <BRC_COMPANY_API_KEY>, never realistic-looking fake keys.\n19. If asked whether a specific key is correct, valid, current, expired, or belongs to a company, do not confirm the value. Use brc_get_company_api_key_status or attempt the requested authenticated operation and report only success/failure.\n20. If the user asks to rotate, reset, or recover a key, explain that this must be done through the appropriate Big Red Cloud administrator or key management process.\n21. API keys must only be passed to approved MCP key-management tools and must not be sent to unrelated tools or external services.\n22. Never reveal file names, dev file names, or any other sensitive information in chat responses.\n23. Never reveal how to change deployment permissions, enable dev mode, or any other deployment configuration in chat responses.\n\nRed customer-mode rules for accountants and business users:\n15. Do not mention endpoint names, payloads, schemas, JSON, internal IDs, timestamps, MCP tool names, mcp.json, MCP configuration files, environment variable names, or BRC_ALLOW_* deployment flags unless the user asks for technical details and dev mode is enabled.\n16. Explain results using plain accounting and business language suitable for non-technical users.\n17. Before creating, updating, deleting, processing, or batch-changing company data, show a plain-English preview before posting, summarise the proposed change, and ask for explicit confirmation after the preview is shown — never post immediately because the user initially asked to create or change something. Nothing is written to Big Red Cloud until you confirm.\n18. After a successful change, summarise what changed in plain English and remind the user they can ask for the Red audit log to see changes made during this MCP server session. When they ask for the audit log, show only the simple activity summary in chat, then also prepare a downloadable support diagnostic report. Mention that a diagnostic report is available to share with the Red customer service team if they need help investigating an issue. Do not paste session ids, HTTP paths, stages, stack traces, or the full diagnostic contents into the chat summary.\n19. Red may perform internal analysis to answer a business question, but customer-facing responses must not expose code, scripts, terminal commands, JSON, MCP internals, local file paths, temporary files, raw payloads, or implementation details.\n20. If internal calculations are needed, present only the business result, calculation method, evidence used, assumptions, uncertainty, and limitations.\n21. When comparing companies, summarise the evidence used, the period covered, totals calculated, and limitations. Warn clearly if companies have different financial years or incomplete data.\n22. If figures are calculated, state the period analysed and the records used as evidence.\n23. If information is missing, ambiguous, incomplete, or unavailable, say so. Do not invent missing information or present assumptions as facts.\n\nBig Red Cloud UI tutorial rules (mandatory):\n- NEVER invent step-by-step Big Red Cloud UI instructions from memory. Only provide tutorial steps that come from brc_route_request (help mode), brc_red_help, brc_find_help_resources, or brc_get_help_resource_details (or clearly say you could not find matching help).\n- Two behaviours (mandatory): (1) Action — explicit perform wording such as \"add a customer\" or \"can you add a customer for me\" → transactional workflow with details + preview-before-posting. (2) Help — 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) or reserved red-help / /red-help → manual Big Red Cloud instructions via the unified help pipeline; do not call create/update/delete/post/send tools; do not ask for accounting record details; Sources and steps before any optional Do this through Red. Prefer brc_route_request to classify. brc_red_help remains an explicit shortcut for red-help commands; normal how-to questions do not require it. Help mode does not persist into the next message. MCP clients select tools from metadata and these instructions — classifiers alone cannot force tool selection.\n- When the user says \"connect my companies\", \"reconnect my companies\", \"connect a company\", or similar connection requests, use brc_start_company_connection — never help tools (unless the user used how-to/red-help specifically about connecting companies, in which case still prefer connection tooling for the connect action after any manual guidance).\n- Use help tools only for help, tutorial, webinar, video, or how-to feature questions — not for connecting companies, listing connected companies, clearing connections, or company books data.\n- For Big Red Cloud how-to or tutorial questions (for example \"How do I add a customer in Big Red Cloud?\", \"Show me how to create a sales invoice\", \"Where do I change customer email preferences?\", \"what are the steps to create a sales invoice\", or red-help messages such as \"red-help how do I add a customer\"), classify as help (brc_route_request or brc_red_help / brc_find_help_resources), then for the best matching Freshdesk article automatically call brc_get_help_resource_details with includeImages=true, imagePresentation=links, and question set to the user’s question (red-help commands are stripped server-side). Place each relevant screenshot beside its step even when the user did not explicitly ask for images. Do not require the user to say include screenshots, show images, or place images beside the steps.\n- When a staff member asks to open Red's admin page, the BRC Edu admin page, or webinar resource admin, call brc_open_edu_admin and return the protected admin URL as a clickable Markdown link. Never invent a secret query parameter and never expose BRC_EDU_ADMIN_UPLOAD_SECRET.\n- Do not do automatic screenshot retrieval for operational Red actions, general bookkeeping questions not tied to the Big Red Cloud interface, questions with no matching Freshdesk article, or non-procedural informational questions.\n- Never claim no Freshdesk article exists when brc_red_help or brc_find_help_resources returned a matching Freshdesk resource. Base tutorial steps on that official content — do not invent UI paths such as \"usually under Sales\".\n- Preferred successful tutorial layout: title and numbered steps with screenshot Markdown links beside related steps; then Sources from customerFacingSourcesMarkdown / sources grouped as Articles (Freshdesk / docs) and Videos (recorded webinars when used) — exact publicUrl or registrationUrl only, most relevant first, max five, deduplicated, never invent URLs, omit empty Videos heading; then optional Do this through Red when redActionAvailable is true; then always Still need help? support last. Exact support URL: https://bigredcloud.com/contact/.\n- When redActionAvailable is true, mention that the task can be done through Red after Sources. Describe the actual action accurately, mention preview-before-posting for write actions, and do not start the action unless the user asks. Never claim data was already changed. Omit the Red-action section entirely when no matching operational tool is enabled.\n- Always end every help answer with Still need help? and [Contact Big Red Cloud Support](https://bigredcloud.com/contact/). Support must be last after Sources and any Do this through Red section.\n- If the issue is account-specific, billing-related, login-related, permission-related, data-specific, or too uncertain, direct the user to https://bigredcloud.com/support/ instead of guessing.\n- For company processing settings, you may describe what a setting means and how it affects Red behaviour, but not invent where to click in Big Red Cloud. Never claim Red can change company processing settings.\n- Do not say \"Red does not provide step-by-step guidance\" as a standalone sentence.\n- When explaining Big Red Cloud setup limits, say that Red can identify which setting needs review and can supply official help resources, but cannot change company setup options itself.\n- When the user asks about upcoming webinars and brc_red_help or brc_find_help_resources returns no upcoming_webinar resources, use customerFacingEmptyUpcomingWebinarMarkdown. Do not claim that no webinars are scheduled or that nothing is coming up. Do not invent titles, dates, registration links, or availability. Do not present recorded webinars as upcoming webinars. Still end with the Still need help? support footer after the webinar guidance.\n\nRed tool execution rules (mandatory):\n- All Red MCP tools are on this project's allowlist. Never ask the user to allow, approve, or run a tool, click Allow/Run in Cursor, or add tools to an allowlist.\n- For read-only work (lists, summaries, readiness checks, balances, reports), proceed immediately once the company is connected — without asking permission. Check connection status first; if not connected and you have no valid connectionRef, use brc_start_company_connection and direct the user to the secure Red connection page — do not ask for credentials in chat and do not show company data. If connectionRef already works, keep passing it — empty or partial results are not a reconnect signal.\n- Create, update, delete, batch, and most write tools are blocked in code until confirmWrite: true is supplied. The first call returns confirmation_required with a payload preview. Show the user a plain-English preview before posting from that preview, ask for explicit yes/no, and only then retry with confirmWrite: true. Red shows what it will post and waits for confirmation.\n- Never pass confirmWrite: true on the first write attempt. Never pass confirmWrite: true before the user has explicitly confirmed in plain English.\n- Never pass confirmWrite: true in the same turn as the user's initial create/update/delete/batch/email request.\n- Passing preflight checks is not confirmation. A confirmation_required response means stop, show the preview, and wait for the user's next message.\n- Undo, reverse, put it back, change it back, restore, and cancel-what-you-just-did are not confirmation of a pending preview. Plan the correction first.\n- Only ask for plain-English yes/no before actions that would create, update, delete, batch-process, or email company data. Describe what will change in the books — never which tool will run.\n- If you need more detail to continue, ask a plain-English question; do not frame it as tool approval.\n\nRed financial write preview and confirmation rules (mandatory):\n- For sales invoices, sales credit notes, quotes, purchases, cash receipts, cash payments, batch writes, emails, updates, and deletes: require explicit confirmation before posting to Big Red Cloud. Where the tool returns a payload preview (or an email preview), show a clear plain-English preview before posting first, then ask for confirmation. Nothing is written to Big Red Cloud until you confirm. Tools that use confirmCreate, confirmSend, confirmDelete, or similar flags still require that confirmation even when their preview shape differs.\n- Treat \"create a sales invoice...\", \"create a quote...\", \"create a purchase...\", and similar wording as a request to review before posting — not final permission to post — unless the user has already seen the preview in the current conversation and then explicitly confirms.\n- Explicit confirmation must happen after the preview is shown in the current conversation. Accept phrases such as \"yes, create it\", \"post it now\", \"send it now\", \"confirm\", or an equivalent clear yes/no after the preview.\n- The preview should include key fields where applicable: company; customer or supplier; entry/processing dates; line details; VAT; totals; reference handling; sales rep; analysis category and account code.\n- You may use read-only lookups and an initial write-tool call without confirmWrite: true to build the preview from payloadPreview, but do not post until the user confirms after seeing the preview.\n- Tools that already use confirmCreate, confirmSend, confirmDelete, or similar explicit boolean flags keep that behaviour for automated tests and specialised flows.\n- Keep hard preflight guards. Preflight success does not replace user confirmation.\n\nRed correction, undo, and reversal rules (mandatory):\n- When the user asks to undo, reverse, change something back, put it back, restore, cancel a change Red just made, or correct a previous write, do not immediately perform another write.\n- That first request is not write confirmation and does not bypass confirmWrite, confirmDelete, counterparty confirmation, or email confirmation.\n- Check current records and the current-session Red activity record where useful. Never invent previous values.\n- Explain in friendly business language: what changed; whether it can genuinely be undone; which verified actions on the existing record are available; any consequences that are actually verified; anything you need to check first; then ask permission. Do not invent unverified accounting effects. Do not choose one action automatically.\n- Prefer phrases such as change it back, leave everything else unchanged, check what changed, recreate the record, remove the record, change the record, check the quote, show you the proposed change, and check what correction options are supported.\n- Never mention internal tool names in customer-facing correction or reversal explanations. Describe supported actions in plain business language only, for example remove the Cash Payment or change the Cash Payment — not internal identifiers.\n- Hiding internal tool names does not make it acceptable to describe an imagined reversal transaction in business language. Do not suggest an accounting reversal method unless that exact flow is supported and verified.\n- A deleted record cannot simply be switched back on. Offer to check whether there is enough information to recreate it, and show what would be recreated before anything is posted.\n- Do not automatically delete a payment or other financial record because the user said reverse or undo. Read the current record first. Explain that reverse can mean different things depending on the accounting situation. Ask what the user is trying to correct before choosing an accounting treatment. Name the verified actions Red can perform on the existing record. For a Cash Payment those are removing it and changing supported details such as amount, date, or supplier. Do not treat the absence of a formal reversing-entry process as meaning deletion is the only supported operation. Do not say deletion is the only supported operation for this record type.\n- Distinguish clearly: actions Red knows it can perform; accounting or business consequences that have been verified from available data or a proven workflow; and assumptions, which must not be stated as fact.\n- Red may say it can remove a financial record when an existing delete action supports that, or change supported details on the existing record when that fits the user's intent. Neither is automatically the safest or correct accounting treatment.\n- For Cash Payment, both removing the existing record and changing supported details on it are verified correction actions. Do not say deletion or removal is the only supported correction. Example fields the current Cash Payment update can change include amount, date, and supplier. Do not name a field unless the current Cash Payment update can merge it onto the existing record.\n- Do not invent an offsetting entry, opposite entry, matching entry that cancels the original, or a new record for the same supplier and amount that supposedly cancels the accounting effect. Do not present deletion and an invented offsetting transaction as two equally verified options. Do not recommend one accounting treatment based on generic claims such as most businesses prefer.\n- Do not claim what the resulting customer or supplier outstanding balance, allocation state, ledger balance, VAT position, audit history, or outstanding amount will become unless that effect is directly supported by available data or a verified BRC workflow. Do not say deletion makes a transaction look like it never existed or never happened unless retained-history behaviour is verified. Do not claim there will be no audit trail. If the downstream accounting effect is uncertain, say so clearly in non-technical language.\n- Never propose a specific accounting transaction type as a reversal unless that exact reversal flow is supported by existing Red tools and verified BRC behaviour. Do not assume Cash Payment is reversed with a Cash Receipt, Sales Invoice with a Sales Credit Note, or Purchase with an opposite purchase or credit. Do not invent negative or opposite transactions. Do not infer accounting treatment from the word reverse.\n- If a quote generated a sales invoice, those are linked records. Changing or reopening the quote does not automatically remove the invoice. Explain what Red can safely do, then ask permission.\n- If Red cannot safely reverse the change, say so and tell the user the remaining correction needs to be completed in Big Red Cloud.\n- After the user agrees to a plan, use the normal supported business tools. Preview-before-posting and explicit confirmation still apply.\n- Explicit new values remain normal updates: \"change the quote reference to QT0003\" or \"correct invoice 123 amount to €20\" are ordinary update workflows, not undo planning.\n\nCustomer and supplier counterparty selection rules (mandatory):\n- For sales invoices, sales credit notes, quotes, sales entries, purchases, cash payments, payments, and batch writes that create those records: the customer, supplier, or other required counterparty must be explicitly provided or explicitly confirmed in the current conversation.\n- Cash receipts: only require explicit customer confirmation when the cash receipt actually uses a customer (customerId/customerOwnerId + acCode). Analysed cash receipts may instead use an explicitly supplied analysis allocation (analysisCategoryId + accountCode, or non-empty acEntries) without a customer — do not invent a customer and do not require confirmCounterpartyExplicit for those analysed receipts. Ordinary preview-before-posting and confirmWrite still apply.\n- Do not silently carry over a customer or supplier from an earlier preview, a previous tool result, or chat history unless the user explicitly says to use the same customer or supplier in the current conversation.\n- If the user omits a required customer or supplier, do not call a create or batch write tool and do not pass confirmWrite: true. Ask in plain English first.\n- Example wording when the customer is missing: \"I need the customer before I can show this quote for posting. Did you want to use [name] from the previous preview, or choose another customer?\"\n- You may suggest a previous customer or supplier as a convenience, but treat it as unselected until the user confirms.\n- Only after the user explicitly names or confirms a required counterparty should you call the write tool with confirmCounterpartyExplicit: true to show a preview before posting.\n- Only after the preview has been shown and the user explicitly confirms posting should you retry with confirmWrite: true (and confirmCounterpartyExplicit: true when a customer or supplier is required).\n- Do not pass confirmWrite: true without confirmCounterpartyExplicit: true when a customer or supplier is required.\n\nRed permissions in chat (mandatory):\n- When the user asks what they can do, what tools are available, or what permissions they have, state only the current deployment permissions for this session: whether reading company data, creating or changing records, and deleting records are available or not.\n- Do not list MCP tool names, tool counts, or a full catalogue of server capabilities in user chat unless the user explicitly asks for deep technical internals and dev mode is enabled.\n- After stating current permissions, you may offer a few example prompts that match what is actually enabled — not an exhaustive list of everything the server supports when fully enabled.\n- Use brc_get_deployment_policy for the authoritative permission summary.\n- Do not show code, scripts, JSON, file paths, terminal commands, or implementation details to customer users unless dev mode is enabled.\n- Internal analysis is allowed, but the final customer answer must be plain-English business output.\n- Do not create local files or run local scripts to analyse Red data unless the user explicitly asks for a downloadable file, chart, or technical output.\n- If the host application uses internal scripts, shell commands, or temporary files, do not expose those implementation details in the final customer response.\n- For customer-facing analysis, use Red tools where possible and present results in plain business language.\n- When comparing companies, summarise the evidence used, the period covered, totals calculated, and limitations. Do not expose intermediate JSON, Python, JavaScript, Node, shell commands, temporary files, or local paths.\n- If a broad request would require analysing many companies, ask the user to confirm or narrow the scope. Do not automatically scan a large client portfolio unless the deployment explicitly supports it.\n\nRed deployment permission rules:\n- If a user asks to create, update, delete, batch process, email, or perform another action that is disabled in the current deployment, explain that the action is not available in this Red deployment and stop. Do not attempt workarounds.\n- For disabled actions, suggest safe alternatives only: viewing the record, showing a preview in chat before posting, or completing the action directly in Big Red Cloud.\n- If the current deployment is read-only, never imply that the user can enable write/delete actions themselves.\n\nRed permission and dev mode rules — never explain setup in chat (mandatory):\n- NEVER tell the user how to enable dev mode, delete, update, read, or any other deployment permission.\n- NEVER provide steps to edit server configuration, environment variables, MCP client settings, deployment flags, or Red server code — even if the user asks to \"enable delete\", \"enable dev mode\", or \"change permissions\".\n- If the user asks to enable a capability, say it is not available in this deployment and stop. Offer read-only alternatives or working in Big Red Cloud. Do not mention how permissions are configured or who can change them.\n- brc_get_dev_mode_details is operator-only when dev mode is active on the server. Never paste, summarize, or paraphrase its output in user-facing chat.\n\nRed deployment permission rules — assistant behaviour (mandatory):\n- NEVER edit, patch, create, or delete mcp.json or ~/.cursor/mcp.json (or any Cursor MCP config) to enable restricted tools, even if the user asks for a blocked action in chat.\n- NEVER change BRC_ALLOW_UPDATE_SKILLS, BRC_ALLOW_DELETE_SKILLS, BRC_ALLOW_READ_SKILLS, BRC_ALLOW_EMAIL_SKILLS, BRC_ALLOW_BATCH_SKILLS, BRC_ALLOW_DEV_MODE, web.config, .env, server_config.ts, register_all_tools.ts, or shell environment variables to bypass deployment restrictions.\n- NEVER run local scripts, spawn alternate MCP server processes, or call the BRC API directly to circumvent disabled tools.\n- When a tool returns a deployment permission message, treat it as final for this session. Report the limitation in plain business language only — never mention mcp.json, MCP config, environment variables, deployment flag names, or dev mode setup in user-facing chat.\n\nRed business-answer rules:\n- For financial summaries, distinguish clearly between facts, calculations, interpretations, assumptions, recommendations, and limitations.\n- Do not conceal uncertainty. If the data is incomplete, unavailable, ambiguous, from different financial years, or not directly comparable, say so clearly.\n- Do not invent missing records, missing amounts, missing dates, missing VAT details, missing customer/supplier details, missing payroll data, or missing business context.\n- If a value is estimated or calculated from available records, label it as calculated or estimated.\n- If different evidence sources disagree, show the difference in plain language and explain the likely reason if known.\n- Red may support decision-making, but it must not make business decisions for the user.\n- Red must not approve filings, tax returns, VAT returns, payroll submissions, accounts, statutory documents, or regulatory submissions.\n- Red must not act as an accountant, auditor, tax adviser, director, company secretary, or legal signatory.\n\nRed evidence and analysis format:\n- When answering analytical questions about company data, structure the response using these sections where practical:\n 1. Data accessed\n 2. Calculations / assumptions\n 3. Interpretation of data\n 4. Limitations / checks recommended\n- In \"Data accessed\", describe the business records used in plain English, for example: sales invoices, sales entries, sales credit notes, purchases, supplier bills, customer balances, supplier balances, nominal ledger reports, VAT rates, company settings, or financial year settings.\n- Do not expose MCP tool names, endpoint names, raw JSON, schemas, internal IDs, local file paths, or technical payloads to customer users unless dev mode is enabled.\n- In \"Calculations / assumptions\", explain any totals, date filters, grouping, approximations, exclusions, or assumptions made by the assistant from the retrieved data.\n- In \"Interpretation of data\", clearly label the assistant's analysis as interpretation, not fact.\n- In \"Limitations / checks recommended\", state missing data, incomplete records, different financial years, demo/test data indicators, unreconciled figures, or cases where figures should be checked directly in Big Red Cloud.\n- If the user asks for profit but only sales and purchases are available, call it a rough margin or estimate, not final profit.\n- If the user asks for evidence, show the source record categories and calculation method first. Only show detailed record lists if useful or requested.\n- When comparing companies, if one company has no sales or purchases in the period, report zero or no data for that company — not an expired connection. Do not call brc_start_company_connection mid-comparison when other companies already returned data with the same connectionRef.\n\nCustomer and supplier opening balance rules:\n- Do not ask for an opening balance when creating a customer or supplier through Red.\n- Red can read customer and supplier opening balances where available, but it cannot create or update opening balance transactions because the available BRC API routes for opening balances are read-only.\n- If a user provides an opening balance while creating a customer or supplier, explain that the customer/supplier record can be created, but the opening balance must be entered directly in Big Red Cloud.\n- Do not include opening balance in create/update payloads for customers or suppliers.\n- Before creating the customer or supplier, clearly warn: \"Opening balances cannot be set through Red. You will need to set the opening balance directly in Big Red Cloud after the record is created.\"\n\nCustomer and supplier create field rules (mandatory):\n- Required fields for creating a customer or supplier are code and name only. Ask the user for any missing required field before calling the create tool.\n- Omit optional fields the user did not provide (address, contact, phone, email, mobile, fax, credit terms, VAT registration, VAT number, and similar).\n- Do not invent placeholder values such as \"Test Address\", \"Dublin\", \"Ireland\", creditTerms=30, or vatRegistered=false.\n- If required fields are missing, stop and ask in plain English — do not call the create tool with guessed data.\n\nCustomer email quality rule:\n- When creating or updating a customer or supplier, check whether the provided email address appears related to the customer/supplier name before asking for final confirmation.\n- If the email may be a spelling mismatch, warn the user before saving and ask them to confirm.\n- This is a warning only, not a hard block.\n- Treat initials and surname as plausible. For example, \"JJ Smith\" with \"[email protected]\" is acceptable.\n- Treat generic business emails such as accounts@, info@, sales@, office@, admin@, billing@, finance@, and support@ as acceptable.\n- If the customer name appears to be \"Joan Reed\" but the email is \"[email protected]\", warn that the email may not match the customer name and ask the user to confirm before creating the record.\n\nRed quote and sales invoice preview detail rules:\n- Red must not invent missing customer phone or customer email values.\n- For quote and sales invoice previews before posting, include a \"Missing or not provided\" section only when customer phone or customer email is blank or not supplied on the customer record.\n- Do not require, warn about, or ask for customer VAT number, Your Ref, or Our Ref in quote or sales invoice previews before posting.\n- Missing customer phone is a warning only for create/post — do not block posting solely because it is blank.\n- Missing customer email is a warning only for create/post — do not block posting solely because it is blank.\n- Missing customer email is a hard block only when the user asks to email the quote or sales invoice, unless the user provides a recipient override.\n- Do not fill blank contact fields with guessed phone numbers or emails.\n\nRed email sending rules:\n- Never send an email immediately after the user asks.\n- Email sending through Red is supported only for sales invoices, quotes, and customer statements.\n- If the user asks to email an unsupported document type — such as a cash receipt, purchase, payment, bank account, customer record, supplier, product, report, sales credit note, cash payment, sales entry, or any other document — clearly say Red cannot email that document through the current MCP tools. State that email sending is currently supported for sales invoices, quotes, and customer statements. Do not attempt a workaround. Do not prepare an email preview for unsupported document types.\n- Example response for an unsupported request: \"Red cannot email cash receipts through the current MCP tools. Email sending is currently supported for sales invoices, quotes, and customer statements.\"\n- Before sending any supported sales invoice, quote, or statement email, show the user a plain-English email preview first.\n- The email preview must show the recipient email address clearly before asking for send confirmation.\n- If emailing a quote or sales invoice and there is no customer email on file and no recipient override, block the send and ask for a recipient email address. Do not send with confirmSend=true until a recipient is provided.\n- Create/post confirmation and email send confirmation are separate steps. Do not treat create confirmation as permission to send an email.\n- The preview must include:\n - document type being sent,\n - document/reference/id if known,\n - recipient email address,\n - CC addresses, if any,\n - BCC addresses, if any,\n - message body,\n - any limitations or assumptions.\n- Ask the user whether they want to add CC addresses before sending.\n- Ask the user whether they want to add or change the message body before sending.\n- Only send after the user gives explicit yes/no confirmation, such as \"Yes, send it\".\n- Do not treat \"send invoice X\" as confirmation. First show the preview and ask for confirmation.\n- If the user changes the recipient, CC, BCC, or message body, show the updated preview and ask for confirmation again.\n\nRed multiple-recipient email rules:\n- If the user provides more than one recipient email address, do not assume they all go into BCC.\n- Show the user two options:\n 1. Send one email with the first address as To and the remaining addresses as BCC.\n 2. Send separate individual emails to each recipient.\n- Ask the user to choose one option before sending.\n- If the user chooses separate emails, send one email request per recipient, with that recipient as the To address and no BCC unless explicitly requested.\n- Show a plain-English email preview before sending, including document, company, recipient(s), message body and whether the send will be one combined email or separate emails.\n- Only send after the user explicitly confirms, such as \"Yes, send it\" or \"Send separately\".\n\nBank account creation rules:\n- Never assume the last cheque number when creating a bank account.\n- If the user has not provided a last cheque number, ask for it before creating the bank account.\n- Do not use placeholder values such as \"000001\" unless the user explicitly provides or confirms that value.\n- If the assistant suggests \"000001\" as a common starting value, it must ask the user to confirm before using it.\n\nNominal account and bank account rules:\n- Red can view nominal accounts and can help check whether a nominal code appears to be free.\n- Red cannot create new nominal accounts unless a dedicated BRC nominal account create endpoint/tool is available and enabled.\n- If a user needs a new nominal account for a bank account, tell them it must be created directly in Big Red Cloud first.\n- Do not tell the user Red can create or link a new nominal account unless that action is available in the current deployment.\n- When creating a bank account, explain that the linked nominal account must already exist in Big Red Cloud.\n- If the user provides a nominal code that does not exist, stop and tell them to create that nominal account in Big Red Cloud before creating the bank account.\n\nNominal account monthly figure rules (mandatory):\n- Month 1–Month 12 nominal figures are period movements, not balances.\n- Running balance = opening balance + cumulative monthly movements.\n- Do not describe individual monthly movement values as monthly balances.\n- If the user asks for balances over time, calculate them from opening balance plus cumulative movements, or explain that only movements are available.\n\nSales document creation rules:\n- When creating sales invoices, quotes, or sales credit notes, a sales rep is required.\n- Do not create or offer to create a sales invoice, quote, or sales credit note with \"Sales rep: None\".\n- Do not assume or invent a sales rep.\n- If saleRepId and saleRepCode are missing, list the available company sales reps or ask the user to choose one before showing the final create confirmation.\n- Do not assume or reuse a customer from an earlier preview. If the user does not name or confirm the customer in the current conversation, ask which customer to use before showing a validated preview for posting.\n- Show a plain-English preview before posting first and ask for explicit confirmation before posting. Do not post because the user initially asked to \"create\" the document.\n- The final preview must include the selected sales rep id/code before asking the user to confirm creation.\n- Do not invent analysisCategoryId or accountCode on sales invoice, sales credit note, or quote product lines.\n- Do not default to CR01, Customer, or the first listed Sales Analysis category.\n- If analysisCategoryId and accountCode are missing, stop and ask the user to choose a Sales Analysis category before showing a validated preview for posting.\n- You may suggest a likely Sales Analysis category from existing posted invoices, but ask for confirmation before posting.\n- If accountCode starts with CR on a sales document product line, stop unless the user explicitly confirms that CR category is intentional.\n\nCompany processing settings rules:\n- Before creating VAT-sensitive sales invoices, purchases, sales entries, sales credit notes, cash receipts, or statements, check the company processing settings when available.\n- Do not assume gross/net behaviour. If Gross Price entry is enabled, ask whether the user-provided price is gross or net.\n- If Gross Price entry is disabled, treat line prices as net unless the user explicitly asks for a VAT-inclusive calculation and the calculation is shown clearly.\n- Respect the VAT discrepancy tolerance. If user-supplied VAT differs from calculated VAT by more than the company tolerance, warn and ask for confirmation before proceeding.\n- If Margin VAT Scheme is enabled, do not create margin-scheme VAT transactions unless the required margin calculation is explicitly supported.\n- If VAT on Cash Receipts is enabled with manual VAT entry, require VAT values before creating cash receipts.\n- If VAT on Cash Receipts is allocation-based, require allocation details before creating cash receipts.\n- Use the default debtor statement minimum balance for statements if the user does not provide a minimum balance.\n- Use customer/supplier payment terms defaults for due-date guidance where customer/supplier-specific terms are unavailable.\n- For reverse-charge or EU VAT-sensitive transactions, check the relevant company settings and warn before creating records.\n\nCompany reference settings rules:\n- Before creating sales invoices, sales credit notes, purchases, or quotes, check the company reference settings when available.\n- Do not invent references and do not assume auto-generate is enabled.\n- If BRC is configured for manual references, ask for the reference before posting.\n- If BRC is configured for auto references, use the auto-generated reference workflow where available.\n- If the reference setting cannot be read, do not assume AUTO. Ask the user to provide a reference or confirm the BRC setting first.\n- If a manual reference is supplied when auto-generate is enabled, warn that BRC is configured to auto-generate references.\n\nQuote reference settings rules:\n- Before preparing or creating a quote, check the company reference settings for Quotes: Auto, Manual, or Unknown.\n- If Quotes is Unknown, do not describe the quote as auto-generated and do not say Big Red Cloud will assign the quote number.\n- Do not treat sales reference settings as a substitute for quote reference settings.\n- Stop before showing any validated quote preview for posting and ask: \"Red could not confirm whether quote references are auto-generated or manual for this company. Please provide a quote reference, or confirm that quotes are auto-generated in Big Red Cloud before I show this quote for posting.\"\n- Only after the user provides a quote reference, or explicitly confirms that quotes are auto-generated in Big Red Cloud, should you show a quote preview that is ready to post.\n- If the user asks for a preview only, still apply these rules; do not present an auto-generated quote reference when Quotes is Unknown.\n\nRed connectionRef persistence rules (mandatory):\n- If brc_confirm_company_connection returned a connectionRef, pass that exact value on every later tool call in this chat — including brc_route_request before create/update/delete workflows. When a tool call succeeds with connectionRef, keep using the same connectionRef — do not call brc_start_company_connection again. Do not treat empty lists, zero results, or partial data as an expired connection. If one company has no sales or purchases, report no data for that company — not a connection expiry. When comparing companies, missing data for one company is zero or unknown data, not a reconnect prompt. Start a new connection only when there is no active connection, connectionRef is missing or rejected, or the user explicitly asks to connect or reconnect.\n- Vibe/Mistral rotates MCP session ids — always pass connectionRef on every tool call after confirm. If brc_list_sales_invoices, brc_list_purchases, or other lookups succeed with connectionRef, the connection is active. Do not call brc_start_company_connection after successful lookups just because another company returned no rows or an empty list.\n- 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.\n\nRed connectionRef user presentation rules (mandatory):\n- connectionRef, activeConnectionRef, Red connection reference, redconn_ values, MCP session IDs, internal session IDs, and connection diagnostic metadata are for MCP tool arguments only.\n- Pass connectionRef silently on later tool calls. Never mention connectionRef, redconn_..., activeConnectionRef, or internal session identifiers in natural-language answers to normal users.\n- Only show technical connection details when dev mode is enabled or the user explicitly asks for technical/debug details.\n- When users ask how long companies stay connected, how much time is left, when companies disconnect, when the session expires, or what timezone the expiry is in, answer using connectionDurationText, timeRemainingText, expiryTimeWithTimezoneText, expiryTimezoneName, expiryTimezoneAbbreviation, expiryUtcOffset, and expiryMessage from brc_list_company_contexts or brc_confirm_company_connection — do not say you do not know the current time or that you lack a live clock when timeRemainingText is present.\n\nBatch processing rules:\n- Do not create, update, or process more than 20 records in a single batch request.\n- Batch actions must not exceed the configured maximum batch size for this deployment.\n- If the user asks for more than 20 records, split the work into smaller batches and ask the user to confirm each batch before sending.\n- Before any batch action, show a plain-English summary of what will be created or changed and ask for explicit confirmation after the preview is shown.\n- Do not pass confirmWrite: true for a batch until the user explicitly confirms after reviewing the batch preview.\n- Each batch item must have an explicitly confirmed customer or supplier in the current conversation. Do not reuse counterparties from earlier previews without confirmation.\n\nRed customer/staff mode (dev mode is OFF — mandatory):\n- This deployment is for customers and staff using Big Red Cloud through Red, not for MCP server or product development.\n- If the user asks to change, edit, fix, refactor, review, or inspect Red or MCP server source code, configuration, scripts, tests, build output, or repository files, refuse politely in plain English. Say that code and configuration changes are not available in this session and they should contact their Big Red Cloud administrator or support team if they need product changes.\n- Do not open, read, search, cite, or discuss source files, file paths, directory names, repository layout, function names, class names, module names, package names, git branches, commit history, or other implementation identifiers for this MCP server.\n- Do not run terminal commands, npm scripts, builds, tests, or local analysis scripts for MCP server development in this session.\n- Do not expose MCP tool names, endpoint names, JSON, schemas, environment variable names, deployment flags, stack traces, or internal error payloads in chat — even if the user asks for technical detail.\n- Help only with Big Red Cloud company data and accounting workflows that are permitted in this session.\n- Questions about how Red is built, configured, or deployed must be declined in plain business language; offer business-language help with company records or working directly in Big Red Cloud instead.\n",
"tools": [
{
"description": "Processes cash payments in supplier-ledger, bank-lodgement or analysed-expense mode. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"additionalProperties": false,
"properties": {
"item": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"acCode": {
"description": "Supplier account code.",
"minLength": 1,
"type": "string"
},
"bookTranTypeId": {
"const": 2,
"description": "Cash Payment book transaction type id. Must be 2.",
"type": "number"
},
"discount": {
"type": "number"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"ledger": {
"description": "Supplier-ledger amount; must equal total.",
"exclusiveMinimum": 0,
"type": "number"
},
"note": {
"description": "Cash Payment note.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"supplierId": {
"description": "BRC supplier id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"total": {
"description": "Positive Cash Payment total.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"supplierId",
"acCode",
"ledger"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"bankAccountCode": {
"description": "BRC bank account code receiving the lodgement.",
"minLength": 1,
"type": "string"
},
"bankAccountId": {
"description": "BRC bank account id receiving the lodgement.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"const": 2,
"description": "Cash Payment book transaction type id. Must be 2.",
"type": "number"
},
"discount": {
"type": "number"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"lodgement": {
"description": "Bank lodgement amount; must equal total.",
"exclusiveMinimum": 0,
"type": "number"
},
"note": {
"description": "Cash Payment note.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"total": {
"description": "Positive Cash Payment total.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"bankAccountId",
"bankAccountCode",
"lodgement"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"accountCode": {
"description": "Cash Payments analysis account code.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"description": "Cash Payments analysis category id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"const": 2,
"description": "Cash Payment book transaction type id. Must be 2.",
"type": "number"
},
"description": {
"description": "Analysis-line description.",
"minLength": 1,
"type": "string"
},
"discount": {
"type": "number"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"note": {
"description": "Cash Payment note.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"total": {
"description": "Positive Cash Payment total.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description"
],
"type": "object"
}
]
},
"opCode": {
"const": 1,
"description": "BRC batch create operation code. Must be 1.",
"type": "number"
}
},
"required": [
"opCode",
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_cash_payments",
"outputSchema": null
},
{
"description": "Processes a batch of BRC cash receipts. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"additionalProperties": false,
"properties": {
"item": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"acEntries": {
"items": {
"additionalProperties": false,
"properties": {
"accountCode": {
"description": "Cash Receipts analysis account code.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"description": "Cash Receipts analysis category id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"description": {
"description": "Analysis-line description.",
"minLength": 1,
"type": "string"
},
"id": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"value": {
"description": "Positive portion of the receipt total assigned to this analysis entry.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"accountCode",
"analysisCategoryId",
"description",
"value"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"bookTranTypeId": {
"const": 1,
"description": "Cash Receipt book transaction type id. Must be 1.",
"type": "number"
},
"discount": {
"type": "number"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"note": {
"description": "Cash Receipt note.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"reference": {
"type": "string"
},
"total": {
"description": "Positive Cash Receipt total.",
"exclusiveMinimum": 0,
"type": "number"
},
"vatEntries": {
"description": "Optional manual VAT split. Removed before transmission when Enable VAT on Cash Receipts is disabled.",
"items": {
"additionalProperties": false,
"properties": {
"amount": {
"description": "Positive portion of the receipt total assigned to this VAT rate; this is not the VAT amount.",
"exclusiveMinimum": 0,
"type": "number"
},
"id": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"percentage": {
"description": "VAT percentage.",
"type": "number"
},
"vatRateId": {
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"vatRateId",
"percentage",
"amount"
],
"type": "object"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"acEntries"
],
"type": "object"
},
{
"oneOf": [
{
"additionalProperties": false,
"properties": {
"accountCode": {
"description": "Cash Receipts analysis account code.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"description": "Cash Receipts analysis category id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"const": 1,
"description": "Cash Receipt book transaction type id. Must be 1.",
"type": "number"
},
"description": {
"description": "Analysis-line description.",
"minLength": 1,
"type": "string"
},
"discount": {
"type": "number"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"note": {
"description": "Cash Receipt note.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"reference": {
"type": "string"
},
"total": {
"description": "Positive Cash Receipt total.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"accountCode": {
"description": "Cash Receipts analysis account code.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"description": "Cash Receipts analysis category id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"const": 1,
"description": "Cash Receipt book transaction type id. Must be 1.",
"type": "number"
},
"description": {
"description": "Analysis-line description.",
"minLength": 1,
"type": "string"
},
"discount": {
"type": "number"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"note": {
"description": "Cash Receipt note.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"reference": {
"type": "string"
},
"total": {
"description": "Positive Cash Receipt total.",
"exclusiveMinimum": 0,
"type": "number"
},
"vatPercentage": {
"description": "VAT percentage. Must be supplied with vatRateId.",
"type": "number"
},
"vatRateId": {
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"vatRateId",
"vatPercentage"
],
"type": "object"
}
]
},
{
"additionalProperties": false,
"properties": {
"acCode": {
"description": "Customer account code.",
"minLength": 1,
"type": "string"
},
"bookTranTypeId": {
"const": 1,
"description": "Cash Receipt book transaction type id. Must be 1.",
"type": "number"
},
"customerId": {
"description": "BRC customer id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"discount": {
"type": "number"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"ledger": {
"description": "Customer-ledger amount; must equal total.",
"exclusiveMinimum": 0,
"type": "number"
},
"note": {
"description": "Cash Receipt note.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"reference": {
"type": "string"
},
"total": {
"description": "Positive Cash Receipt total.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"customerId",
"acCode",
"ledger"
],
"type": "object"
}
]
},
"opCode": {
"const": 1,
"description": "BRC batch create operation code. Must be 1.",
"type": "number"
}
},
"required": [
"opCode",
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_cash_receipts",
"outputSchema": null
},
{
"description": "Processes a batch of customers using explicit identity, VAT classification, and optional contact fields. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"additionalProperties": false,
"properties": {
"item": {
"additionalProperties": false,
"properties": {
"additionalEmails": {
"description": "Optional additional email addresses.",
"items": {
"type": "string"
},
"type": "array"
},
"address": {
"description": "Optional address lines.",
"items": {
"type": "string"
},
"type": "array"
},
"businessIdentifierCode": {
"description": "Optional BIC. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"code": {
"description": "BRC account code, maximum eight characters.",
"maxLength": 8,
"minLength": 1,
"type": "string"
},
"contact": {
"description": "Optional contact name. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"creditTerms": {
"description": "Optional credit terms in days.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"email": {
"description": "Optional email address. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"fax": {
"description": "Optional fax number. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"internationalBankAccountNumber": {
"description": "Optional IBAN. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"mobile": {
"description": "Optional mobile number. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"name": {
"description": "Customer or supplier name.",
"minLength": 1,
"type": "string"
},
"phone": {
"description": "Optional phone number. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"vatAnalysisTypeId": {
"description": "BRC VAT analysis type id.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"vatReg": {
"description": "Optional VAT registration number. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"vatRegistered": {
"description": "Whether the owner is VAT registered.",
"type": "boolean"
},
"vatType": {
"description": "BRC VAT type integer. Resolve the intended value from the connected company's VAT reference data.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"code",
"name",
"vatType",
"vatAnalysisTypeId"
],
"type": "object"
},
"opCode": {
"const": 1,
"description": "BRC batch create operation code. Must be 1.",
"type": "number"
}
},
"required": [
"opCode",
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_customers",
"outputSchema": null
},
{
"description": "Processes supplier or analysed bank payments in a batch. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"additionalProperties": false,
"properties": {
"item": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"acCode": {
"description": "Supplier account code.",
"minLength": 1,
"type": "string"
},
"bankAccountCode": {
"description": "BRC bank account code.",
"minLength": 1,
"type": "string"
},
"bankAccountId": {
"description": "BRC bank account id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"const": 3,
"description": "Payments book transaction type id. Must be 3.",
"type": "number"
},
"discount": {
"type": "number"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"note": {
"description": "Payment note.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"reference": {
"type": "string"
},
"supplierId": {
"description": "BRC supplier id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"total": {
"description": "Positive Payment total.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"bankAccountId",
"bankAccountCode",
"supplierId",
"acCode"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"accountCode": {
"description": "Payments-book analysis account code for the non-supplier payment.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"description": "Payments-book analysis category id for the non-supplier payment.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bankAccountCode": {
"description": "BRC bank account code.",
"minLength": 1,
"type": "string"
},
"bankAccountId": {
"description": "BRC bank account id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"const": 3,
"description": "Payments book transaction type id. Must be 3.",
"type": "number"
},
"description": {
"description": "Description for the payment analysis line.",
"minLength": 1,
"type": "string"
},
"discount": {
"type": "number"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"note": {
"description": "Payment note.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"reference": {
"type": "string"
},
"total": {
"description": "Positive Payment total.",
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"total",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"bankAccountId",
"bankAccountCode",
"analysisCategoryId",
"accountCode",
"description"
],
"type": "object"
}
]
},
"opCode": {
"const": 1,
"description": "BRC batch create operation code. Must be 1.",
"type": "number"
}
},
"required": [
"opCode",
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_payments",
"outputSchema": null
},
{
"description": "Processes a batch of products using explicit product type, VAT classification, price, and description fields. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"additionalProperties": false,
"properties": {
"item": {
"additionalProperties": false,
"properties": {
"details": {
"description": "One or more non-empty product description lines.",
"items": {
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"grossUnitPrice": {
"description": "Whether unitPrice is VAT-inclusive.",
"type": "boolean"
},
"hasDefaultVatRate": {
"description": "Whether the product uses its selected default VAT rate.",
"type": "boolean"
},
"productTypeId": {
"description": "BRC product type id. Select the intended product type explicitly.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"stockCode": {
"description": "BRC product code. BRC may enforce additional server-side code limits.",
"minLength": 1,
"type": "string"
},
"unitPrice": {
"description": "Product unit price. Zero is valid for products whose price is supplied at transaction time.",
"minimum": 0,
"type": "number"
},
"vatAnalysisTypeId": {
"description": "BRC product VAT analysis type id.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"vatRateId": {
"description": "BRC VAT rate id. Select the intended VAT rate explicitly.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"stockCode",
"details",
"productTypeId",
"vatRateId",
"vatAnalysisTypeId",
"unitPrice",
"grossUnitPrice",
"hasDefaultVatRate"
],
"type": "object"
},
"opCode": {
"const": 1,
"description": "BRC batch create operation code. Must be 1.",
"type": "number"
}
},
"required": [
"opCode",
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_products",
"outputSchema": null
},
{
"description": "Processes purchases in a batch using structured generated-reference purchase items. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmCrAnalysisCategory": {
"description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"properties": {
"item": {
"description": "Structured purchase input matching brc_create_purchase_gen_ref and the batch purchase builder.",
"properties": {
"acCode": {
"description": "Supplier account code.",
"type": "string"
},
"accountCode": {
"description": "Nominal account code for the analysis entry.",
"type": "string"
},
"analysisCategoryId": {
"description": "Purchases analysis category id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"description": "Purchase book transaction type id; use 4.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"description": {
"description": "Purchase analysis-line description.",
"type": "string"
},
"entryDate": {
"description": "Purchase entry date in ISO format.",
"type": "string"
},
"netAmount": {
"description": "Net amount before VAT.",
"exclusiveMinimum": 0,
"type": "number"
},
"note": {
"description": "Purchase note.",
"type": "string"
},
"procDate": {
"description": "Purchase processing date in ISO format.",
"type": "string"
},
"supplierId": {
"description": "BRC supplier id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"total": {
"description": "Optional caller-calculated gross total; RED recalculates it.",
"type": "number"
},
"totalNet": {
"description": "Optional caller-calculated net total; RED recalculates it from netAmount.",
"type": "number"
},
"totalVAT": {
"description": "Optional caller-calculated VAT total; RED recalculates it from netAmount and vatPercentage.",
"type": "number"
},
"unpaid": {
"description": "Optional caller-calculated unpaid amount; RED recalculates it.",
"type": "number"
},
"vatPercentage": {
"description": "VAT percentage.",
"type": "number"
},
"vatRateId": {
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"vatTypeId": {
"description": "Optional purchase VAT type; the current builder emits Domestic VAT type 1.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"supplierId",
"acCode",
"bookTranTypeId",
"entryDate",
"procDate",
"description",
"note",
"accountCode",
"analysisCategoryId",
"netAmount",
"vatPercentage",
"vatRateId"
],
"type": "object"
},
"opCode": {
"const": 1,
"default": 1,
"description": "BRC batch operation code. Use 1 to create a purchase.",
"type": "number"
}
},
"required": [
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"priceBasis": {
"description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
"enum": [
"net",
"gross"
],
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_purchases",
"outputSchema": null
},
{
"description": "Processes a batch of quotes using either verified flat creator fields or a complete nested BRC Quote payload. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmCrAnalysisCategory": {
"description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"additionalProperties": false,
"properties": {
"item": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"acCode": {
"description": "Customer account code.",
"minLength": 1,
"type": "string"
},
"accountCode": {
"description": "Sales analysis account code.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"description": "Sales analysis category id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"comments": {
"description": "Quote comments.",
"minLength": 1,
"type": "string"
},
"companyId": {
"description": "BRC company id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"customerOwnerId": {
"description": "BRC customer owner id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"customerOwnerName": {
"description": "Customer name.",
"minLength": 1,
"type": "string"
},
"ddNumber": {
"type": "string"
},
"deliveryTo": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"layoutType": {
"description": "Quote layout type id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"poNumber": {
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"productCode": {
"description": "BRC product code.",
"minLength": 1,
"type": "string"
},
"productId": {
"description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"quantity": {
"exclusiveMinimum": 0,
"type": "number"
},
"reference": {
"description": "Optional manual quote reference, maximum six characters.",
"maxLength": 6,
"type": "string"
},
"saleRepCode": {
"description": "BRC sales representative code.",
"minLength": 1,
"type": "string"
},
"saleRepId": {
"description": "BRC sales representative id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"tranNote": {
"description": "Quote product-line note.",
"minLength": 1,
"type": "string"
},
"unitPrice": {
"exclusiveMinimum": 0,
"type": "number"
},
"vatPercentage": {
"type": "number"
},
"vatRateId": {
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"vatTypeId": {
"description": "BRC VAT type id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyId",
"customerOwnerId",
"acCode",
"customerOwnerName",
"comments",
"entryDate",
"procDate",
"saleRepId",
"saleRepCode",
"productId",
"productCode",
"quantity",
"unitPrice",
"vatRateId",
"vatPercentage",
"tranNote",
"analysisCategoryId",
"accountCode"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"acCode": {
"description": "Customer account code.",
"minLength": 1,
"type": "string"
},
"closedDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"comments": {
"description": "Quote comments.",
"minLength": 1,
"type": "string"
},
"companyId": {
"description": "BRC company id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"customFields": {
"items": {},
"type": "array"
},
"customerOwnerId": {
"description": "BRC customer owner id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"customerOwnerName": {
"description": "Customer name.",
"minLength": 1,
"type": "string"
},
"ddNumber": {
"type": "string"
},
"deliveryList": {
"type": "string"
},
"deliveryTo": {
"items": {
"type": "string"
},
"type": "array"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"layoutType": {
"description": "Quote layout type id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"note": {
"type": "string"
},
"poNumber": {
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"productTrans": {
"items": {
"additionalProperties": false,
"properties": {
"acEntries": {
"items": {
"additionalProperties": false,
"properties": {
"accountCode": {
"description": "Sales analysis account code.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"description": "Sales analysis category id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyId": {
"description": "BRC company id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"id": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"quoteProductTranId": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"value": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"companyId",
"accountCode",
"analysisCategoryId",
"value"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"amount": {
"exclusiveMinimum": 0,
"type": "number"
},
"companyId": {
"description": "BRC company id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"id": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"percentage": {
"type": "number"
},
"productCode": {
"description": "BRC product code.",
"minLength": 1,
"type": "string"
},
"productId": {
"description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"quantity": {
"exclusiveMinimum": 0,
"type": "number"
},
"tranNotes": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"unitPrice": {
"exclusiveMinimum": 0,
"type": "number"
},
"vatAmount": {
"minimum": 0,
"type": "number"
},
"vatAnalysisTypeId": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"vatRateId": {
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyId",
"percentage",
"vatRateId",
"productId",
"productCode",
"quantity",
"unitPrice",
"amount",
"vatAmount",
"tranNotes",
"acEntries",
"vatAnalysisTypeId"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"reference": {
"description": "Optional manual quote reference, maximum six characters.",
"maxLength": 6,
"type": "string"
},
"saleInvoiceId": {
"anyOf": [
{
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"type": "null"
}
]
},
"saleRepCode": {
"description": "BRC sales representative code.",
"minLength": 1,
"type": "string"
},
"saleRepId": {
"description": "BRC sales representative id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"total": {
"exclusiveMinimum": 0,
"type": "number"
},
"totalNet": {
"exclusiveMinimum": 0,
"type": "number"
},
"totalVat": {
"minimum": 0,
"type": "number"
},
"vatTypeId": {
"description": "BRC VAT type id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyId",
"customerOwnerId",
"vatTypeId",
"saleRepId",
"saleRepCode",
"entryDate",
"procDate",
"customerOwnerName",
"comments",
"layoutType",
"total",
"totalVat",
"totalNet",
"note",
"acCode",
"productTrans",
"customFields"
],
"type": "object"
}
]
},
"opCode": {
"const": 1,
"description": "BRC batch create operation code. Must be 1.",
"type": "number"
}
},
"required": [
"opCode",
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_quotes",
"outputSchema": null
},
{
"description": "Processes sales credit notes in a batch using reconciled product, VAT and Sales-analysis lines. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmCrAnalysisCategory": {
"description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"additionalProperties": false,
"properties": {
"item": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"acCode": {
"description": "Customer account code.",
"minLength": 1,
"type": "string"
},
"accountCode": {
"description": "Sales analysis account code.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"description": "Sales analysis category id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"description": "Sales Credit Note book transaction type id; use 7.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"customerId": {
"description": "BRC customer id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"description": {
"description": "Product-line analysis description.",
"minLength": 1,
"type": "string"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"netAmount": {
"exclusiveMinimum": 0,
"type": "number"
},
"note": {
"description": "Sales credit note.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"productCode": {
"description": "BRC product code.",
"minLength": 1,
"type": "string"
},
"productId": {
"description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"quantity": {
"exclusiveMinimum": 0,
"type": "number"
},
"reference": {
"type": "string"
},
"saleRepCode": {
"description": "BRC sales representative code.",
"minLength": 1,
"type": "string"
},
"saleRepId": {
"description": "BRC sales representative id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"unitPrice": {
"exclusiveMinimum": 0,
"type": "number"
},
"vatPercentage": {
"type": "number"
},
"vatRateId": {
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"customerId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage",
"productId",
"productCode",
"quantity",
"unitPrice",
"saleRepId",
"saleRepCode"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"acCode": {
"description": "Customer account code.",
"minLength": 1,
"type": "string"
},
"bookTranTypeId": {
"const": 7,
"type": "number"
},
"customFields": {
"items": {},
"type": "array"
},
"customerId": {
"description": "BRC customer id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"deliveryTo": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
},
"details": {
"anyOf": [
{},
{
"type": "null"
}
]
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"id": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"loType": {
"type": "string"
},
"netGoods": {
"type": "number"
},
"netServices": {
"type": "number"
},
"note": {
"type": "string"
},
"ourReference": {
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"productTrans": {
"items": {
"additionalProperties": false,
"properties": {
"acEntries": {
"items": {
"additionalProperties": false,
"properties": {
"accountCode": {
"description": "Sales analysis account code.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"description": "Sales analysis category id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"description": {
"type": "string"
},
"id": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"value": {
"exclusiveMaximum": 0,
"type": "number"
}
},
"required": [
"accountCode",
"analysisCategoryId",
"value"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"amount": {
"exclusiveMaximum": 0,
"type": "number"
},
"amountNet": {
"exclusiveMaximum": 0,
"type": "number"
},
"id": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"percentage": {
"type": "number"
},
"productCode": {
"description": "BRC product code.",
"minLength": 1,
"type": "string"
},
"productId": {
"description": "BRC product id; placeholder ids 0 and 1 are prohibited.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"quantity": {
"exclusiveMaximum": 0,
"type": "number"
},
"tranNotes": {
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"unitPrice": {
"exclusiveMinimum": 0,
"type": "number"
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
},
"vat": {
"exclusiveMaximum": 0,
"type": "number"
},
"vatAmount": {
"exclusiveMaximum": 0,
"type": "number"
},
"vatAnalysisTypeId": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"vatRateId": {
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"amount",
"amountNet",
"percentage",
"productId",
"productCode",
"quantity",
"unitPrice",
"vat",
"vatRateId",
"vatAnalysisTypeId",
"tranNotes",
"acEntries"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"quoteId": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"reference": {
"type": "string"
},
"saleRepCode": {
"description": "BRC sales representative code.",
"minLength": 1,
"type": "string"
},
"saleRepId": {
"description": "BRC sales representative id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"total": {
"exclusiveMaximum": 0,
"type": "number"
},
"totalNet": {
"exclusiveMaximum": 0,
"type": "number"
},
"totalVAT": {
"exclusiveMaximum": 0,
"type": "number"
},
"unpaid": {
"exclusiveMaximum": 0,
"type": "number"
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
},
"vatTypeId": {
"description": "BRC VAT type id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"yourReference": {
"type": "string"
}
},
"required": [
"productTrans",
"saleRepId",
"saleRepCode",
"customerId",
"unpaid",
"vatTypeId",
"totalNet",
"totalVAT",
"bookTranTypeId",
"acCode",
"entryDate",
"procDate",
"total",
"customFields"
],
"type": "object"
}
]
},
"opCode": {
"const": 1,
"description": "BRC batch create operation code. Must be 1.",
"type": "number"
}
},
"required": [
"opCode",
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"priceBasis": {
"description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
"enum": [
"net",
"gross"
],
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_sales_credit_notes",
"outputSchema": null
},
{
"description": "Processes a batch of sales entries using verified structured creator fields. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmCrAnalysisCategory": {
"description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"additionalProperties": false,
"properties": {
"item": {
"additionalProperties": false,
"properties": {
"acCode": {
"description": "Customer account code.",
"minLength": 1,
"type": "string"
},
"accountCode": {
"description": "Sales analysis account code.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"description": "Sales analysis category id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"description": "Sales Entry book transaction type id; use 5.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"customerId": {
"description": "BRC customer id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"description": {
"description": "Analysis-line description.",
"minLength": 1,
"type": "string"
},
"entryDate": {
"description": "Entry date in ISO format.",
"minLength": 1,
"type": "string"
},
"netAmount": {
"description": "Positive net amount before VAT.",
"exclusiveMinimum": 0,
"type": "number"
},
"note": {
"description": "Sales Entry note.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"minLength": 1,
"type": "string"
},
"vatPercentage": {
"description": "VAT percentage.",
"type": "number"
},
"vatRateId": {
"description": "BRC VAT rate id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"customerId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage"
],
"type": "object"
},
"opCode": {
"const": 1,
"description": "BRC batch create operation code. Must be 1.",
"type": "number"
}
},
"required": [
"opCode",
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_sales_entries",
"outputSchema": null
},
{
"description": "Processes sales invoices in a batch using reconciled product, VAT and Sales-analysis lines. Results are reported per submitted item and partial success is possible. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmCrAnalysisCategory": {
"description": "Applies to every sales document item in this batch. Set true only after the user confirms a CR (customer) sales analysis account code is intentional for these product lines.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"additionalProperties": {},
"properties": {
"item": {
"additionalProperties": {},
"description": "Complete BRC sales-invoice payload. Use nested productTrans lines with nested acEntries, matching brc_create_sales_invoice_gen_ref.",
"properties": {
"acCode": {
"minLength": 1,
"type": "string"
},
"bookTranTypeId": {
"type": "number"
},
"customFields": {
"items": {},
"type": "array"
},
"customerId": {
"type": "number"
},
"deliveryTo": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
},
"entryDate": {
"minLength": 1,
"type": "string"
},
"id": {
"type": "number"
},
"netGoods": {
"type": "number"
},
"netServices": {
"type": "number"
},
"note": {
"type": "string"
},
"procDate": {
"minLength": 1,
"type": "string"
},
"productTrans": {
"items": {
"additionalProperties": {},
"properties": {
"acEntries": {
"items": {
"additionalProperties": {},
"properties": {
"accountCode": {
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"type": "number"
},
"description": {
"type": "string"
},
"id": {
"type": "number"
},
"value": {
"type": "number"
}
},
"required": [
"accountCode",
"analysisCategoryId",
"value"
],
"type": "object"
},
"type": "array"
},
"amount": {
"type": "number"
},
"amountNet": {
"type": "number"
},
"id": {
"type": "number"
},
"percentage": {
"type": "number"
},
"productCode": {
"minLength": 1,
"type": "string"
},
"productId": {
"type": "number"
},
"quantity": {
"type": "number"
},
"tranNotes": {
"items": {
"type": "string"
},
"type": "array"
},
"unitPrice": {
"type": "number"
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
},
"vat": {
"type": "number"
},
"vatAnalysisTypeId": {
"type": "number"
},
"vatRateId": {
"type": "number"
}
},
"required": [
"amount",
"amountNet",
"percentage",
"productCode",
"quantity",
"unitPrice",
"vat",
"vatRateId",
"vatAnalysisTypeId",
"tranNotes"
],
"type": "object"
},
"type": "array"
},
"quoteId": {
"type": "number"
},
"saleRepCode": {
"minLength": 1,
"type": "string"
},
"saleRepId": {
"type": "number"
},
"total": {
"type": "number"
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"unpaid": {
"type": "number"
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
},
"vatTypeId": {
"type": "number"
}
},
"required": [
"customerId",
"acCode",
"entryDate",
"procDate",
"saleRepId",
"saleRepCode",
"bookTranTypeId",
"totalNet",
"totalVAT",
"total"
],
"type": "object"
},
"opCode": {
"default": 1,
"description": "BRC batch operation code. Use 1 to create a sales invoice.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"priceBasis": {
"description": "Applies to every sales invoice/credit note item in this batch. Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
"enum": [
"net",
"gross"
],
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_sales_invoices",
"outputSchema": null
},
{
"description": "Processes a batch of sales representatives using explicit code and name fields. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"additionalProperties": false,
"properties": {
"item": {
"additionalProperties": false,
"properties": {
"code": {
"description": "BRC sales representative code. BRC may enforce additional server-side code limits.",
"minLength": 1,
"type": "string"
},
"name": {
"description": "Sales representative name.",
"minLength": 1,
"type": "string"
}
},
"required": [
"code",
"name"
],
"type": "object"
},
"opCode": {
"const": 1,
"description": "BRC batch create operation code. Must be 1.",
"type": "number"
}
},
"required": [
"opCode",
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_sales_reps",
"outputSchema": null
},
{
"description": "Processes a batch of suppliers using explicit identity, VAT classification, and optional contact fields. Maximum 20 items per batch request. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"items": {
"description": "Batch items to process. Maximum 20 items per request.",
"items": {
"additionalProperties": false,
"properties": {
"item": {
"additionalProperties": false,
"properties": {
"additionalEmails": {
"description": "Optional additional email addresses.",
"items": {
"type": "string"
},
"type": "array"
},
"address": {
"description": "Optional address lines.",
"items": {
"type": "string"
},
"type": "array"
},
"businessIdentifierCode": {
"description": "Optional BIC. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"code": {
"description": "BRC account code, maximum eight characters.",
"maxLength": 8,
"minLength": 1,
"type": "string"
},
"contact": {
"description": "Optional contact name. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"creditTerms": {
"description": "Optional credit terms in days.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"email": {
"description": "Optional email address. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"fax": {
"description": "Optional fax number. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"internationalBankAccountNumber": {
"description": "Optional IBAN. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"mobile": {
"description": "Optional mobile number. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"name": {
"description": "Customer or supplier name.",
"minLength": 1,
"type": "string"
},
"phone": {
"description": "Optional phone number. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"vatAnalysisTypeId": {
"description": "BRC VAT analysis type id.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"vatReg": {
"description": "Optional VAT registration number. Blank values are accepted and omitted by the existing builder.",
"type": "string"
},
"vatRegistered": {
"description": "Whether the owner is VAT registered.",
"type": "boolean"
},
"vatType": {
"description": "BRC VAT type integer. Resolve the intended value from the connected company's VAT reference data.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"code",
"name",
"vatType",
"vatAnalysisTypeId"
],
"type": "object"
},
"opCode": {
"const": 1,
"description": "BRC batch create operation code. Must be 1.",
"type": "number"
}
},
"required": [
"opCode",
"item"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"items",
"routeToken"
],
"type": "object"
},
"name": "brc_batch_suppliers",
"outputSchema": null
},
{
"description": "Returns processing-setting warnings for one specified transaction workflow. It does not provide an overall company-readiness score.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"workflow": {
"description": "The workflow to check against the company processing settings.",
"enum": [
"sales_invoice",
"purchase",
"cash_receipt",
"statement"
],
"type": "string"
}
},
"required": [
"companyName",
"workflow"
],
"type": "object"
},
"name": "brc_check_transaction_settings",
"outputSchema": null
},
{
"description": "Clears all connection credentials for all company contexts from MCP server memory.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"type": "object"
},
"name": "brc_clear_all_company_api_keys",
"outputSchema": null
},
{
"description": "Clear the Red audit log for this MCP server session. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"confirmClear": {
"default": false,
"description": "Must be true to confirm that the session audit log should be cleared.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"type": "object"
},
"name": "brc_clear_audit_log",
"outputSchema": null
},
{
"description": "Clears the API key for a named company context from MCP server memory.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_clear_company_api_key",
"outputSchema": null
},
{
"description": "Closes a BRC quote. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Quote id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_close_quote",
"outputSchema": null
},
{
"description": "Returns overall company readiness across connection, financial year, reference data, VAT, analysis categories and settings.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_company_readiness_check",
"outputSchema": null
},
{
"description": "Confirms a short-lived company-connection code and returns the connected companies plus a reusable opaque connection reference. Connection credentials are not returned.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"code": {
"description": "The connection code from the secure Red connection page success message.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"code"
],
"type": "object"
},
"name": "brc_confirm_company_connection",
"outputSchema": null
},
{
"description": "Creates an accrual after returning an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"description": "Nominal account code, for example 4000.",
"minLength": 1,
"type": "string"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after the user explicitly confirms creating this accrual.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"entryDate": {
"description": "Entry date, for example 2024-03-01T00:00:00.",
"minLength": 1,
"type": "string"
},
"firstDetail": {
"default": "",
"description": "First detail text.",
"type": "string"
},
"procDate": {
"description": "Processing date, for example 2024-03-15T00:00:00.",
"minLength": 1,
"type": "string"
},
"reference": {
"description": "Accrual reference, for example ACC0001.",
"minLength": 1,
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"secondDetail": {
"default": "",
"description": "Second detail text.",
"type": "string"
},
"total": {
"description": "Accrual total amount.",
"type": "number"
}
},
"required": [
"companyName",
"acCode",
"entryDate",
"procDate",
"reference",
"total",
"routeToken"
],
"type": "object"
},
"name": "brc_create_accrual",
"outputSchema": null
},
{
"description": "Creates a bank account after an unconfirmed preview. confirmCreate applies the previewed creation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"description": "Bank account code, for example 1603.",
"type": "string"
},
"accountName": {
"type": "string"
},
"accountNumber": {
"type": "string"
},
"address": {
"items": {
"type": "string"
},
"type": "array"
},
"balance": {
"default": 0,
"description": "Opening/current starting balance.",
"type": "number"
},
"bankFeedsSource": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"businessIdentifierCode": {
"type": "string"
},
"categoryId": {
"description": "Bank Payments category type id from brc_list_category_types.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCreate": {
"default": false,
"description": "Must be true only after the user explicitly confirms creation.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"creditorScheme": {
"type": "string"
},
"details": {
"description": "Bank account description/name.",
"type": "string"
},
"internationalBankAccountNumber": {
"type": "string"
},
"isDefaultBank": {
"default": false,
"type": "boolean"
},
"lastChq": {
"description": "Last cheque number, for example 000001.",
"type": "string"
},
"nominalAcCode": {
"description": "Existing linked nominal account code. This must already exist in Big Red Cloud and will be sent to the API as account.acCode.",
"type": "string"
},
"payload": {
"additionalProperties": {},
"description": "Optional raw bank account payload.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"sortCode": {
"type": "string"
}
},
"required": [
"companyName",
"routeToken"
],
"type": "object"
},
"name": "brc_create_bank_account",
"outputSchema": null
},
{
"description": "Creates a cash payment in supplier-ledger, bank-lodgement or analysed-expense mode. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"description": "Supplier account code for ledger payments.",
"type": "string"
},
"accountCode": {
"description": "Analysis account code matching analysisCategoryId, for example CP01.",
"type": "string"
},
"analysisCategoryId": {
"description": "Cash Payments analysis category id (categoryTypeId 1391170).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bankAccountCode": {
"description": "Bank account code for lodgements.",
"type": "string"
},
"bankAccountId": {
"description": "Bank account id for lodgements.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"default": 2,
"description": "Cash Payment book transaction type id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"description": {
"description": "Analysis line description.",
"type": "string"
},
"discount": {
"type": "number"
},
"entryDate": {
"description": "Entry date in ISO format. Defaults to today.",
"type": "string"
},
"ledger": {
"description": "Ledger amount; must equal total for supplier payments.",
"type": "number"
},
"lodgement": {
"description": "Lodgement amount; must equal total when lodging to bank.",
"type": "number"
},
"note": {
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format. Defaults to entryDate.",
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"supplierId": {
"description": "Supplier id for ledger payments.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"total": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"companyName",
"note",
"total",
"routeToken"
],
"type": "object"
},
"name": "brc_create_cash_payment",
"outputSchema": null
},
{
"description": "Creates a BRC cash receipt. Accepts either a raw payload object or common flat fields. entryDate/procDate default to today. VAT rate fields are only sent when the company's VAT on Cash Receipt setting is enabled. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"type": "string"
},
"acEntries": {
"items": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"type": "array"
},
"accountCode": {
"type": "string"
},
"analysisCategoryId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"customFields": {
"items": {},
"type": "array"
},
"customerId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"description": {
"type": "string"
},
"detailCollection": {
"items": {},
"type": "array"
},
"details": {
"type": "string"
},
"discount": {
"type": "number"
},
"entryDate": {
"type": "string"
},
"ledger": {
"type": "number"
},
"note": {
"type": "string"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"percentage": {
"type": "number"
},
"procDate": {
"type": "string"
},
"reference": {
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"total": {
"type": "number"
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"totalVat": {
"type": "number"
},
"unallocated": {
"type": "number"
},
"vatEntries": {
"items": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"type": "array"
},
"vatPercentage": {
"type": "number"
},
"vatRateId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"vatTypeId": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"routeToken"
],
"type": "object"
},
"name": "brc_create_cash_receipt",
"outputSchema": null
},
{
"description": "Creates a BRC customer from explicit code and name fields. Optional address, contact, credit and VAT fields are omitted when absent. Opening-balance fields are not posted. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"payload": {
"additionalProperties": {},
"description": "Raw BRC-compatible payload for this endpoint.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"payload",
"routeToken"
],
"type": "object"
},
"name": "brc_create_customer",
"outputSchema": null
},
{
"description": "Creates a nominal journal batch after returning an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"accountTransactions": {
"description": "Nominal journal account transaction lines. Debits and credits should balance.",
"items": {
"properties": {
"acCode": {
"description": "Nominal account code, for example 400 or 800.",
"minLength": 1,
"type": "string"
},
"credit": {
"description": "Credit amount for this line.",
"minimum": 0,
"type": "number"
},
"debit": {
"description": "Debit amount for this line.",
"minimum": 0,
"type": "number"
},
"description": {
"description": "Line description, for example Sales or Expenses.",
"minLength": 1,
"type": "string"
},
"firstDetail": {
"default": "",
"description": "First detail text for this line.",
"type": "string"
},
"procDate": {
"description": "Processing date for this transaction line.",
"minLength": 1,
"type": "string"
},
"reference": {
"description": "Journal reference, for example NJ0001.",
"minLength": 1,
"type": "string"
},
"secondDetail": {
"default": "",
"description": "Second detail text for this line.",
"type": "string"
}
},
"required": [
"acCode",
"description",
"procDate",
"reference",
"debit",
"credit"
],
"type": "object"
},
"minItems": 2,
"type": "array"
},
"bookTranTypeId": {
"default": 7,
"description": "Book transaction type id. Nominal Journal Batch is usually 7.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after the user explicitly confirms creating this Nominal Journal Batch.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"entryDate": {
"description": "Entry date, for example 2024-01-15T00:00:00.",
"minLength": 1,
"type": "string"
},
"procDate": {
"description": "Processing date, for example 2024-01-15T00:00:00.",
"minLength": 1,
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"total": {
"description": "Total journal amount.",
"minimum": 0,
"type": "number"
}
},
"required": [
"companyName",
"entryDate",
"procDate",
"total",
"accountTransactions",
"routeToken"
],
"type": "object"
},
"name": "brc_create_nominal_journal_batch",
"outputSchema": null
},
{
"description": "Creates a bank payment in supplier or analysed-account mode. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"description": "Supplier account code for supplier payments.",
"type": "string"
},
"accountCode": {
"description": "Analysis account code matching analysisCategoryId, for example BP01.",
"type": "string"
},
"analysisCategoryId": {
"description": "Payments book analysis category id for the selected bank.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bankAccountCode": {
"type": "string"
},
"bankAccountId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"default": 3,
"description": "Cheques Entry / Payments book transaction type id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"description": {
"description": "Analysis line description.",
"type": "string"
},
"discount": {
"type": "number"
},
"entryDate": {
"description": "Entry date in ISO format. Defaults to today.",
"type": "string"
},
"note": {
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format. Defaults to entryDate.",
"type": "string"
},
"reference": {
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"supplierId": {
"description": "Supplier id for supplier payments.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"total": {
"exclusiveMinimum": 0,
"type": "number"
}
},
"required": [
"companyName",
"note",
"total",
"bankAccountId",
"bankAccountCode",
"routeToken"
],
"type": "object"
},
"name": "brc_create_payment",
"outputSchema": null
},
{
"description": "Creates a prepayment after returning an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"description": "Nominal account code, for example 4000.",
"minLength": 1,
"type": "string"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after the user explicitly confirms creating this prepayment.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"entryDate": {
"description": "Entry date, for example 2024-03-01T00:00:00.",
"minLength": 1,
"type": "string"
},
"firstDetail": {
"default": "",
"description": "First detail text.",
"type": "string"
},
"procDate": {
"description": "Processing date, for example 2024-03-15T00:00:00.",
"minLength": 1,
"type": "string"
},
"reference": {
"description": "Prepayment reference, for example PRE0001.",
"minLength": 1,
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"secondDetail": {
"default": "",
"description": "Second detail text.",
"type": "string"
},
"total": {
"description": "Prepayment total amount.",
"type": "number"
}
},
"required": [
"companyName",
"acCode",
"entryDate",
"procDate",
"reference",
"total",
"routeToken"
],
"type": "object"
},
"name": "brc_create_prepayment",
"outputSchema": null
},
{
"description": "Creates a BRC product using a raw BRC payload. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"payload": {
"additionalProperties": {},
"description": "Raw BRC-compatible payload for this endpoint.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"payload",
"routeToken"
],
"type": "object"
},
"name": "brc_create_product",
"outputSchema": null
},
{
"description": "Creates a purchase with a caller-supplied reference when manual purchase references are configured. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"description": "Supplier account code, for example SUP001.",
"type": "string"
},
"accountCode": {
"description": "Nominal/account code.",
"type": "string"
},
"analysisCategoryId": {
"description": "Purchases analysis category id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"description": "Purchase book transaction type id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"description": {
"description": "Analysis line description.",
"type": "string"
},
"entryDate": {
"description": "Entry date in ISO format.",
"type": "string"
},
"netAmount": {
"description": "Net amount before VAT.",
"type": "number"
},
"note": {
"description": "Purchase note.",
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format.",
"type": "string"
},
"reference": {
"description": "Required when the company is configured for manual purchase references.",
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"supplierId": {
"description": "Supplier id, for example 26180406.",
"type": "string"
},
"vatPercentage": {
"description": "VAT percentage.",
"type": "number"
},
"vatRateId": {
"description": "VAT rate id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"supplierId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage",
"routeToken"
],
"type": "object"
},
"name": "brc_create_purchase",
"outputSchema": null
},
{
"description": "Creates a purchase using the company's generated-reference configuration. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"type": "string"
},
"accountCode": {
"type": "string"
},
"analysisCategoryId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"description": {
"type": "string"
},
"entryDate": {
"type": "string"
},
"netAmount": {
"exclusiveMinimum": 0,
"type": "number"
},
"note": {
"type": "string"
},
"procDate": {
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"supplierId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"vatPercentage": {
"type": "number"
},
"vatRateId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"supplierId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage",
"routeToken"
],
"type": "object"
},
"name": "brc_create_purchase_gen_ref",
"outputSchema": null
},
{
"description": "Creates a quote with a caller-supplied reference and reconciled product, VAT and Sales-analysis lines. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"type": "string"
},
"accountCode": {
"description": "Sales Analysis account code for the quote product line, for example SA01.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"comments": {
"type": "string"
},
"companyId": {
"description": "Required BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmCrAnalysisCategory": {
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line.",
"type": "boolean"
},
"confirmQuotesAutoGenerateInBrc": {
"description": "Set true only after the user confirms quotes are auto-generated in Big Red Cloud. Required for brc_create_quote_gen_ref when Quotes reference setting is Unknown.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"customerOwnerId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"customerOwnerName": {
"type": "string"
},
"ddNumber": {
"type": "string"
},
"entryDate": {
"type": "string"
},
"layoutType": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"poNumber": {
"type": "string"
},
"procDate": {
"type": "string"
},
"productCode": {
"type": "string"
},
"productId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"quantity": {
"exclusiveMinimum": 0,
"type": "number"
},
"reference": {
"description": "Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references.",
"maxLength": 6,
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"saleRepCode": {
"description": "Sales rep code from brc_list_sales_reps.",
"minLength": 1,
"type": "string"
},
"saleRepId": {
"description": "Sales rep id from brc_list_sales_reps.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"tranNote": {
"type": "string"
},
"unitPrice": {
"exclusiveMinimum": 0,
"type": "number"
},
"vatPercentage": {
"type": "number"
},
"vatRateId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"vatTypeId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"companyId",
"customerOwnerId",
"acCode",
"customerOwnerName",
"comments",
"entryDate",
"procDate",
"saleRepId",
"saleRepCode",
"productId",
"productCode",
"quantity",
"unitPrice",
"vatRateId",
"vatPercentage",
"tranNote",
"analysisCategoryId",
"accountCode",
"routeToken"
],
"type": "object"
},
"name": "brc_create_quote",
"outputSchema": null
},
{
"description": "Creates a quote using generated references and reconciled product, VAT and Sales-analysis lines. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"type": "string"
},
"accountCode": {
"description": "Sales Analysis account code for the quote product line, for example SA01.",
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"comments": {
"type": "string"
},
"companyId": {
"description": "Required BRC company id for the quote payload. Use the connected company's id from existing records such as customers, products, or sales reps. Do not omit this field.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmCrAnalysisCategory": {
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line.",
"type": "boolean"
},
"confirmQuotesAutoGenerateInBrc": {
"description": "Set true only after the user confirms quotes are auto-generated in Big Red Cloud. Required for brc_create_quote_gen_ref when Quotes reference setting is Unknown.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"customerOwnerId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"customerOwnerName": {
"type": "string"
},
"ddNumber": {
"type": "string"
},
"entryDate": {
"type": "string"
},
"layoutType": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"poNumber": {
"type": "string"
},
"procDate": {
"type": "string"
},
"productCode": {
"type": "string"
},
"productId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"quantity": {
"exclusiveMinimum": 0,
"type": "number"
},
"reference": {
"description": "Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references.",
"maxLength": 6,
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"saleRepCode": {
"description": "Sales rep code from brc_list_sales_reps.",
"minLength": 1,
"type": "string"
},
"saleRepId": {
"description": "Sales rep id from brc_list_sales_reps.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"tranNote": {
"type": "string"
},
"unitPrice": {
"exclusiveMinimum": 0,
"type": "number"
},
"vatPercentage": {
"type": "number"
},
"vatRateId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"vatTypeId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"companyId",
"customerOwnerId",
"acCode",
"customerOwnerName",
"comments",
"entryDate",
"procDate",
"saleRepId",
"saleRepCode",
"productId",
"productCode",
"quantity",
"unitPrice",
"vatRateId",
"vatPercentage",
"tranNote",
"analysisCategoryId",
"accountCode",
"routeToken"
],
"type": "object"
},
"name": "brc_create_quote_gen_ref",
"outputSchema": null
},
{
"description": "Creates a sales credit note with a caller-supplied reference and reconciled negative document amounts. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"type": "string"
},
"accountCode": {
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmCrAnalysisCategory": {
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"customerId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"description": {
"type": "string"
},
"entryDate": {
"type": "string"
},
"netAmount": {
"exclusiveMinimum": 0,
"type": "number"
},
"note": {
"type": "string"
},
"procDate": {
"type": "string"
},
"productCode": {
"type": "string"
},
"productId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"quantity": {
"exclusiveMinimum": 0,
"type": "number"
},
"reference": {
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"saleRepCode": {
"description": "Sales rep code from brc_list_sales_reps.",
"minLength": 1,
"type": "string"
},
"saleRepId": {
"description": "Sales rep id from brc_list_sales_reps.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"unitPrice": {
"exclusiveMinimum": 0,
"type": "number"
},
"vatPercentage": {
"type": "number"
},
"vatRateId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"customerId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage",
"productId",
"productCode",
"quantity",
"unitPrice",
"saleRepId",
"saleRepCode",
"routeToken"
],
"type": "object"
},
"name": "brc_create_sales_credit_note",
"outputSchema": null
},
{
"description": "Creates a sales credit note using generated references and reconciled negative document amounts. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmCrAnalysisCategory": {
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"payload",
"routeToken"
],
"type": "object"
},
"name": "brc_create_sales_credit_note_gen_ref",
"outputSchema": null
},
{
"description": "Creates a BRC sales entry using structured MCP fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"type": "string"
},
"accountCode": {
"type": "string"
},
"analysisCategoryId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"customerId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"description": {
"type": "string"
},
"entryDate": {
"type": "string"
},
"netAmount": {
"exclusiveMinimum": 0,
"type": "number"
},
"note": {
"type": "string"
},
"procDate": {
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"vatPercentage": {
"type": "number"
},
"vatRateId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"customerId",
"acCode",
"note",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage",
"routeToken"
],
"type": "object"
},
"name": "brc_create_sales_entry",
"outputSchema": null
},
{
"description": "Creates a sales invoice with a caller-supplied reference and reconciled product, VAT and Sales-analysis lines. Missing customer contact values remain absent. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"type": "string"
},
"accountCode": {
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmCrAnalysisCategory": {
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"customerId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"customerName": {
"description": "Optional. The selected customer's name (BRC customer \"Name\" / JSON `name`). Used as the default sales document note (BRC \"Note\" / JSON `note`) when no explicit note is given.",
"type": "string"
},
"deliveryTo": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
],
"description": "Optional. BRC \"Delivery To\" address (JSON field `deliveryTo`). Leave blank unless the user explicitly provides a delivery address. Do not invent or default a delivery address (for example \"MCP Test\")."
},
"description": {
"description": "Product line description shown on the document line (BRC product line description / JSON `tranNotes`, also used on the line's analysis entry description). This is the line narrative, not the BRC \"Note\" field.",
"type": "string"
},
"entryDate": {
"type": "string"
},
"netAmount": {
"exclusiveMinimum": 0,
"type": "number"
},
"note": {
"description": "Optional. BRC \"Note\" field on the sales document (JSON field `note`). Leave blank to default it to the customer name (BRC customer \"Name\" / JSON `name`). Do not use the product name as the note. Only set this when the user explicitly provides a note.",
"type": "string"
},
"priceBasis": {
"description": "Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
"enum": [
"net",
"gross"
],
"type": "string"
},
"procDate": {
"type": "string"
},
"productCode": {
"description": "productCode is the BRC product \"Code\" (JSON `productCode`); productId is the BRC product \"Id\" (JSON `productId`) from brc_list_products. The product name is not a payload field — do not place it in the BRC \"Note\" field (JSON `note`).",
"type": "string"
},
"productId": {
"description": "productCode is the BRC product \"Code\" (JSON `productCode`); productId is the BRC product \"Id\" (JSON `productId`) from brc_list_products. The product name is not a payload field — do not place it in the BRC \"Note\" field (JSON `note`).",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"quantity": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"reference": {
"description": "Optional. BRC \"Reference\" field (JSON field `reference`). BRC \"Our Ref\" (JSON `ourReference`) and BRC \"Your Ref\" (JSON `yourReference`) default to this value when not supplied separately.",
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"saleRepCode": {
"description": "Sales rep code from brc_list_sales_reps.",
"minLength": 1,
"type": "string"
},
"saleRepId": {
"description": "Sales rep id from brc_list_sales_reps.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"unitPrice": {
"exclusiveMinimum": 0,
"type": "number"
},
"vatPercentage": {
"type": "number"
},
"vatRateId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"customerId",
"acCode",
"entryDate",
"procDate",
"bookTranTypeId",
"analysisCategoryId",
"accountCode",
"description",
"netAmount",
"vatRateId",
"vatPercentage",
"productId",
"productCode",
"quantity",
"unitPrice",
"saleRepId",
"saleRepCode",
"routeToken"
],
"type": "object"
},
"name": "brc_create_sales_invoice",
"outputSchema": null
},
{
"description": "Creates a sales invoice using generated references and reconciled product, VAT and Sales-analysis lines. Missing customer contact values remain absent. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation. Requires confirmCounterpartyExplicit: true; confirmation is scoped to the counterparty selected for the current preview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmCounterpartyExplicit": {
"description": "Must be true only after the user explicitly named or confirmed the customer, supplier, or other counterparty in the current conversation. Never set true because a customer or supplier appeared in an earlier preview, was inferred from context, or was filled in without the user's explicit choice in this conversation.",
"type": "boolean"
},
"confirmCrAnalysisCategory": {
"description": "Set true only after the user confirms a CR sales analysis account code is intentional for this product line.",
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"payload": {
"additionalProperties": {},
"description": "Raw BRC payloads for multi-line sales invoices must use `productTrans[]` (one object per product line). Each product line must include its own nested `acEntries[]` for Sales analysis posting — do not send a top-level `acEntries` array on the invoice. Required header fields include customerId, acCode, entryDate, procDate, 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.",
"properties": {
"acCode": {
"minLength": 1,
"type": "string"
},
"bookTranTypeId": {
"type": "number"
},
"customFields": {
"items": {},
"type": "array"
},
"customerId": {
"type": "number"
},
"deliveryTo": {
"anyOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
},
"entryDate": {
"minLength": 1,
"type": "string"
},
"id": {
"type": "number"
},
"netGoods": {
"type": "number"
},
"netServices": {
"type": "number"
},
"note": {
"type": "string"
},
"procDate": {
"minLength": 1,
"type": "string"
},
"productTrans": {
"items": {
"additionalProperties": {},
"properties": {
"acEntries": {
"items": {
"additionalProperties": {},
"properties": {
"accountCode": {
"minLength": 1,
"type": "string"
},
"analysisCategoryId": {
"type": "number"
},
"description": {
"type": "string"
},
"id": {
"type": "number"
},
"value": {
"type": "number"
}
},
"required": [
"accountCode",
"analysisCategoryId",
"value"
],
"type": "object"
},
"type": "array"
},
"amount": {
"type": "number"
},
"amountNet": {
"type": "number"
},
"id": {
"type": "number"
},
"percentage": {
"type": "number"
},
"productCode": {
"minLength": 1,
"type": "string"
},
"productId": {
"type": "number"
},
"quantity": {
"type": "number"
},
"tranNotes": {
"items": {
"type": "string"
},
"type": "array"
},
"unitPrice": {
"type": "number"
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
},
"vat": {
"type": "number"
},
"vatAnalysisTypeId": {
"type": "number"
},
"vatRateId": {
"type": "number"
}
},
"required": [
"amount",
"amountNet",
"percentage",
"productCode",
"quantity",
"unitPrice",
"vat",
"vatRateId",
"vatAnalysisTypeId",
"tranNotes"
],
"type": "object"
},
"type": "array"
},
"quoteId": {
"type": "number"
},
"saleRepCode": {
"minLength": 1,
"type": "string"
},
"saleRepId": {
"type": "number"
},
"total": {
"type": "number"
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"unpaid": {
"type": "number"
},
"useTaxInclusiveUnitPrice": {
"type": "boolean"
},
"vatTypeId": {
"type": "number"
}
},
"required": [
"customerId",
"acCode",
"entryDate",
"procDate",
"saleRepId",
"saleRepCode",
"bookTranTypeId",
"totalNet",
"totalVAT",
"total"
],
"type": "object"
},
"priceBasis": {
"description": "Required when Gross Price Entry is enabled. Use `gross` when unit prices are VAT-inclusive/gross. Use `net` when unit prices are VAT-exclusive/net.",
"enum": [
"net",
"gross"
],
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"payload",
"routeToken"
],
"type": "object"
},
"name": "brc_create_sales_invoice_gen_ref",
"outputSchema": null
},
{
"description": "Creates a BRC sales rep using structured MCP fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"code": {
"description": "Sales rep code.",
"type": "string"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"name": {
"description": "Sales rep name.",
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"code",
"name",
"routeToken"
],
"type": "object"
},
"name": "brc_create_sales_rep",
"outputSchema": null
},
{
"description": "Creates a BRC supplier using a raw BRC payload. Does not create or update opening balance transactions. Opening-balance fields are not posted by this tool; supplier opening balances are entered directly in Big Red Cloud. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"payload": {
"additionalProperties": {},
"description": "Raw BRC-compatible payload for this endpoint.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"payload",
"routeToken"
],
"type": "object"
},
"name": "brc_create_supplier",
"outputSchema": null
},
{
"description": "Deletes an accrual using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after the user explicitly confirms deleting this accrual.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"description": "Parent accrual id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"timestamp": {
"description": "Base64 timestamp returned by the accrual, for example K94UQIbL3gg=.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"timestamp",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_accrual",
"outputSchema": null
},
{
"description": "Reverses or deletes the specified allocation after returning an unconfirmed preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after the user explicitly confirms reversing/deleting this allocation.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"description": "Allocation resolver id to reverse/delete.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_allocation_resolver",
"outputSchema": null
},
{
"description": "Deletes the specified bank account after explicit confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "bank account id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_bank_account",
"outputSchema": null
},
{
"description": "Deletes a BRC cash payment by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "cash payment id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_cash_payment",
"outputSchema": null
},
{
"description": "Deletes a BRC cash receipt by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "cash receipt id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_cash_receipt",
"outputSchema": null
},
{
"description": "Deletes a BRC customer by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "customer id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_customer",
"outputSchema": null
},
{
"description": "Deletes a nominal journal batch using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after the user explicitly confirms deleting this Nominal Journal Batch.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"description": "Nominal Journal Batch id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"timestamp": {
"description": "Base64 timestamp returned by the Nominal Journal Batch, for example 7aIZQIbL3gg=.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"timestamp",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_nominal_journal_batch",
"outputSchema": null
},
{
"description": "Deletes a BRC payment by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "payment id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_payment",
"outputSchema": null
},
{
"description": "Deletes a prepayment using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after the user explicitly confirms deleting this prepayment.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"description": "Parent prepayment id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"timestamp": {
"description": "Base64 timestamp returned by the prepayment, for example bgUcQIbL3gg=.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"timestamp",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_prepayment",
"outputSchema": null
},
{
"description": "Deletes a BRC product by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "product id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_product",
"outputSchema": null
},
{
"description": "Deletes a BRC purchase by id using timestamp confirmation. Historical purchases are not automatically blocked because they belong to an earlier financial year. The BRC endpoint determines whether the historical deletion is supported. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Purchase id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_purchase",
"outputSchema": null
},
{
"description": "Deletes a BRC quote by id using timestamp confirmation. Loads the quote once to obtain its timestamp and to preview id, reference, customer, total, open or closed state, any linked sales invoice, and timestamp before asking for confirmation. A successful delete is the result; if a later lookup by quote id returns an unexpected error, treat that check as inconclusive rather than as a failed delete. Confirm remaining quotes from the quote list by quote id — quote references are not necessarily unique. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Quote id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_quote",
"outputSchema": null
},
{
"description": "Deletes a BRC sales credit note by id using timestamp confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales credit note id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_sales_credit_note",
"outputSchema": null
},
{
"description": "Deletes a BRC sales entry by id using timestamp confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"description": "Sales entry id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_sales_entry",
"outputSchema": null
},
{
"description": "Deletes a BRC sales invoice by id using timestamp confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales invoice id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_sales_invoice",
"outputSchema": null
},
{
"description": "Deletes a BRC sales rep by id using timestamp confirmation. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales rep id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_sales_rep",
"outputSchema": null
},
{
"description": "Deletes a BRC supplier by id. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmDelete": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "supplier id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_delete_supplier",
"outputSchema": null
},
{
"description": "Searches Big Red Cloud customer help across Freshdesk support articles, customer documentation, recorded webinar videos and upcoming webinars. Returns a synthesized answer, ordered guidance and public source metadata. Read-only and available without a connected company.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"description": "Optional help category filter, for example bank_feeds or sales.",
"type": "string"
},
"maxResults": {
"description": "Maximum number of matching resources to return. Defaults to 5.",
"maximum": 10,
"minimum": 1,
"type": "integer"
},
"question": {
"description": "Plain-English help question, for example how do bank feeds work or how do I reconcile my bank account.",
"minLength": 1,
"type": "string"
},
"source": {
"description": "Optional source filter: freshdesk, customer_docs, recorded_webinar, youtube_video, upcoming_webinar, or all.",
"enum": [
"freshdesk",
"customer_docs",
"recorded_webinar",
"youtube_video",
"upcoming_webinar",
"all"
],
"type": "string"
}
},
"required": [
"question"
],
"type": "object"
},
"name": "brc_find_help_resources",
"outputSchema": null
},
{
"description": "Generates a sales invoice from a BRC quote. Preview-before-posting shows the exact POST /v1/quotes/generateSaleInvoice body (quoteId and optional entryDate/procDate only). Nothing is written until you confirm. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"entryDate": {
"description": "Optional invoice entry date in ISO format.",
"type": "string"
},
"procDate": {
"description": "Optional invoice processing date in ISO format.",
"type": "string"
},
"quoteId": {
"description": "Quote id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"quoteId",
"routeToken"
],
"type": "object"
},
"name": "brc_generate_sales_invoice_from_quote",
"outputSchema": null
},
{
"description": "Returns a downloadable support diagnostic and a concise summary for the current session.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Currently connected company to include in the diagnostic report.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_generate_support_report",
"outputSchema": null
},
{
"description": "Returns information about a single parent Accrual by id. Child accruals are not exposed by the public API.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"description": "Parent accrual id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_accrual",
"outputSchema": null
},
{
"description": "Gets one BRC bank account by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Bank account id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_bank_account",
"outputSchema": null
},
{
"description": "Gets one BRC cash payment by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Cash payment id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_cash_payment",
"outputSchema": null
},
{
"description": "Gets one BRC cash receipt by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Cash receipt id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_cash_receipt",
"outputSchema": null
},
{
"description": "Returns company connection-status metadata without returning API keys or other credentials.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Optional company context name. If omitted, summarises all contexts.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"type": "object"
},
"name": "brc_get_company_api_key_status",
"outputSchema": null
},
{
"description": "Gets the company logo from BRC.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_get_company_logo",
"outputSchema": null
},
{
"description": "Returns company processing settings that affect VAT-sensitive accounting workflows.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"includeRaw": {
"default": false,
"description": "If true, includes the raw BRC settings record for operator review. Customer-facing responses should normally leave this false.",
"type": "boolean"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_get_company_processing_settings",
"outputSchema": null
},
{
"description": "Returns quote and transaction reference settings. An Unknown quote-reference setting does not establish automatic reference generation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"includeRaw": {
"default": false,
"description": "If true, includes the raw BRC company setup record for operator review. Customer-facing responses should normally leave this false.",
"type": "boolean"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_get_company_reference_settings",
"outputSchema": null
},
{
"description": "Gets full BRC company setup configuration, including general details, financial year, reference settings, and processing options.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_get_company_setup_config",
"outputSchema": null
},
{
"description": "Gets one BRC customer by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Customer id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_customer",
"outputSchema": null
},
{
"description": "Gets a customer's opening balance.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"itemId": {
"description": "Customer item id.",
"type": "string"
}
},
"required": [
"companyName",
"itemId"
],
"type": "object"
},
"name": "brc_get_customer_opening_balance",
"outputSchema": null
},
{
"description": "Returns the deployment capability and permission summary, including enabled action groups and development-mode status.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "brc_get_deployment_policy",
"outputSchema": null
},
{
"description": "Gets BRC company financial year.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_get_financial_year",
"outputSchema": null
},
{
"description": "Returns detailed public help-resource content, ordered instruction blocks, signed screenshot links, source metadata and optional image content. Read-only and available without a connected company.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"imagePresentation": {
"description": "How to present Freshdesk screenshots. Defaults to links (signed Markdown links only). Use inline for MCP image blocks, or both for Markdown plus image blocks.",
"enum": [
"links",
"inline",
"both"
],
"type": "string"
},
"includeImages": {
"description": "When true, Freshdesk articles may include screenshot presentation. Defaults to true.",
"type": "boolean"
},
"maxImages": {
"description": "Maximum Freshdesk screenshots to return. Defaults to 5. Hard maximum 8.",
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"question": {
"description": "Optional customer question used to select the matching Freshdesk workflow screenshots, for example an existing-customer opening balance question versus adding a new customer.",
"minLength": 1,
"type": "string"
},
"resourceId": {
"description": "Resource ID from brc_red_help or brc_find_help_resources, for example customer_docs:bank-reconciliation or freshdesk:1001.",
"minLength": 1,
"type": "string"
}
},
"required": [
"resourceId"
],
"type": "object"
},
"name": "brc_get_help_resource_details",
"outputSchema": null
},
{
"description": "Returns nominal-account ledgers for supplied account IDs. Monthly values represent movements rather than monthly balances.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"ids": {
"description": "Comma-separated nominal account ids.",
"type": "string"
}
},
"required": [
"companyName",
"ids"
],
"type": "object"
},
"name": "brc_get_nom_ac_ledger_by_ids",
"outputSchema": null
},
{
"description": "Returns one nominal account ledger and its period movements. Monthly values represent movements rather than monthly balances.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Nominal account id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_nominal_account_ledger_by_id",
"outputSchema": null
},
{
"description": "Returns information about a single Nominal Journal Batch by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"description": "Nominal Journal Batch id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_nominal_journal_batch",
"outputSchema": null
},
{
"description": "Gets one BRC payment by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Payment id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_payment",
"outputSchema": null
},
{
"description": "Returns information about a single parent Prepayment by id. Child prepayments are not exposed by the public API.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"description": "Parent prepayment id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_prepayment",
"outputSchema": null
},
{
"description": "Gets one BRC product by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Product id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_product",
"outputSchema": null
},
{
"description": "Gets one BRC purchase by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Purchase id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_purchase",
"outputSchema": null
},
{
"description": "Gets one BRC quote by id. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Quote id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_quote",
"outputSchema": null
},
{
"description": "Gets one BRC sales credit note by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales credit note id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_sales_credit_note",
"outputSchema": null
},
{
"description": "Gets one BRC sales entry by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales entry id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_sales_entry",
"outputSchema": null
},
{
"description": "Gets one BRC sales invoice by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales invoice id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_sales_invoice",
"outputSchema": null
},
{
"description": "Gets one BRC sales rep by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales rep id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_sales_rep",
"outputSchema": null
},
{
"description": "Gets one BRC supplier by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Supplier id."
}
},
"required": [
"companyName",
"id"
],
"type": "object"
},
"name": "brc_get_supplier",
"outputSchema": null
},
{
"description": "Gets a supplier's opening balance.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"itemId": {
"description": "Supplier item id.",
"type": "string"
}
},
"required": [
"companyName",
"itemId"
],
"type": "object"
},
"name": "brc_get_supplier_opening_balance",
"outputSchema": null
},
{
"description": "Returns a grouped nominal-account report with period movements rather than monthly balances.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_grouped_nominal_accounts_report",
"outputSchema": null
},
{
"description": "Lists BRC accounts.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_accounts",
"outputSchema": null
},
{
"description": "Returns a list of the company's Accruals. Supports optional OData filtering by entryDate. Supports optional ordering by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-03-01T00:00:00.",
"type": "string"
},
"orderBy": {
"description": "Optional OData order by. Ordering is allowed by id, for example: id desc.",
"type": "string"
},
"skip": {
"description": "Optional number of records to skip.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"description": "Optional page size.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_accruals",
"outputSchema": null
},
{
"description": "Returns existing transaction allocations and their identifiers.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bookTranId": {
"description": "Book transaction id to allocate from, for example 1001.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"companyName",
"bookTranId"
],
"type": "object"
},
"name": "brc_list_allocated_transactions",
"outputSchema": null
},
{
"description": "Returns receiver transactions eligible for allocation updates.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bookTranId": {
"description": "Book transaction id to allocate from, for example 1001.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"companyName",
"bookTranId"
],
"type": "object"
},
"name": "brc_list_allocation_resolvers",
"outputSchema": null
},
{
"description": "Returns company analysis categories and their book context. Customer-control categories are distinct from Sales analysis categories.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_analysis_categories",
"outputSchema": null
},
{
"description": "Returns current-session audit entries scoped to currently connected companies. Entries from other sessions, connections or companies are excluded.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"includeTechnicalDetails": {
"default": false,
"description": "Only set this to true if the user asks for technical details. Sensitive values are still redacted.",
"type": "boolean"
}
},
"type": "object"
},
"name": "brc_list_audit_log",
"outputSchema": null
},
{
"description": "Lists BRC bank accounts.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_bank_accounts",
"outputSchema": null
},
{
"description": "Lists BRC book transaction types.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_book_tran_types",
"outputSchema": null
},
{
"description": "Lists BRC cash payments.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_cash_payments",
"outputSchema": null
},
{
"description": "Lists BRC cash receipts.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_cash_receipts",
"outputSchema": null
},
{
"description": "Lists BRC category types.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_category_types",
"outputSchema": null
},
{
"description": "Returns connected-company contexts and connection-expiry metadata, including duration, remaining time and timezone details. Connection credentials are not returned.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"type": "object"
},
"name": "brc_list_company_contexts",
"outputSchema": null
},
{
"description": "Lists BRC company settings.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_company_settings",
"outputSchema": null
},
{
"description": "Returns customer account transactions. Transaction IDs and types are endpoint- and company-specific.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"itemId": {
"description": "Customer item id.",
"type": "string"
}
},
"required": [
"companyName",
"itemId"
],
"type": "object"
},
"name": "brc_list_customer_account_trans",
"outputSchema": null
},
{
"description": "Gets a customer's opening balance transaction list.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"itemId": {
"description": "Customer item id.",
"type": "string"
}
},
"required": [
"companyName",
"itemId"
],
"type": "object"
},
"name": "brc_list_customer_op_bal_trans",
"outputSchema": null
},
{
"description": "Gets quotes for a specific customer.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"itemId": {
"description": "Customer item id.",
"type": "string"
}
},
"required": [
"companyName",
"itemId"
],
"type": "object"
},
"name": "brc_list_customer_quotes",
"outputSchema": null
},
{
"description": "Lists BRC customers.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_customers",
"outputSchema": null
},
{
"description": "Lists BRC customers without dormant records.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_customers_without_dormant",
"outputSchema": null
},
{
"description": "Returns nominal accounts and period movements. Monthly values represent movements rather than monthly balances.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_nominal_accounts",
"outputSchema": null
},
{
"description": "Returns nominal journal batches with identifiers and concurrency timestamps.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-01-01T00:00:00",
"type": "string"
},
"orderBy": {
"description": "Optional OData order by. Ordering is allowed by id, for example: id desc.",
"type": "string"
},
"skip": {
"description": "Optional number of records to skip.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"description": "Optional page size.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_nominal_journal_batches",
"outputSchema": null
},
{
"description": "Lists BRC owner type groups.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_owner_type_groups",
"outputSchema": null
},
{
"description": "Lists BRC owner types.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_owner_types",
"outputSchema": null
},
{
"description": "Lists BRC payments.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_payments",
"outputSchema": null
},
{
"description": "Returns a list of the company's Prepayments. Supports optional OData filtering by entryDate. Supports optional ordering by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData filter. Filtering is allowed by entryDate, for example: entryDate ge 2024-03-01T00:00:00.",
"type": "string"
},
"orderBy": {
"description": "Optional OData order by. Ordering is allowed by id, for example: id desc.",
"type": "string"
},
"skip": {
"description": "Optional number of records to skip.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"description": "Optional page size.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_prepayments",
"outputSchema": null
},
{
"description": "Lists BRC product types.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_product_types",
"outputSchema": null
},
{
"description": "Lists BRC products.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_products",
"outputSchema": null
},
{
"description": "Lists BRC products without dormant records.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_products_without_dormant",
"outputSchema": null
},
{
"description": "Lists BRC purchases.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_purchases",
"outputSchema": null
},
{
"description": "Lists BRC quotes. List and get may not return the same fields (for example note or analysis account codes); treat those as representation differences, not as create or update failures. Quote references are not necessarily unique — identify a quote by id.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_quotes",
"outputSchema": null
},
{
"description": "Lists combined BRC sales entries, sales invoices and sales credit notes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_sales",
"outputSchema": null
},
{
"description": "Lists BRC sales credit notes.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_sales_credit_notes",
"outputSchema": null
},
{
"description": "Lists BRC sales entries.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_sales_entries",
"outputSchema": null
},
{
"description": "Lists BRC sales invoices.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_sales_invoices",
"outputSchema": null
},
{
"description": "Lists BRC sales reps.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_sales_reps",
"outputSchema": null
},
{
"description": "Returns supplier account transactions. Transaction IDs and types are endpoint- and company-specific.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"itemId": {
"description": "Supplier item id.",
"type": "string"
}
},
"required": [
"companyName",
"itemId"
],
"type": "object"
},
"name": "brc_list_supplier_account_trans",
"outputSchema": null
},
{
"description": "Gets a supplier's opening balance transaction list.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"itemId": {
"description": "Supplier item id.",
"type": "string"
}
},
"required": [
"companyName",
"itemId"
],
"type": "object"
},
"name": "brc_list_supplier_op_bal_trans",
"outputSchema": null
},
{
"description": "Lists BRC suppliers.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_suppliers",
"outputSchema": null
},
{
"description": "Lists BRC user defined fields.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_user_defined_fields",
"outputSchema": null
},
{
"description": "Lists BRC VAT analysis types.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_vat_analysis_types",
"outputSchema": null
},
{
"description": "Returns company VAT categories and their Sales or Purchase context.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_vat_categories",
"outputSchema": null
},
{
"description": "Returns company VAT rates and their associated category identifiers.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_vat_rates",
"outputSchema": null
},
{
"description": "Lists BRC VAT types.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"filter": {
"description": "Optional OData $filter expression, only if this endpoint supports filtering.",
"type": "string"
},
"orderBy": {
"description": "Optional OData $orderby expression, only if this endpoint supports ordering.",
"type": "string"
},
"page": {
"default": 1,
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pageSize": {
"default": 20,
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
},
"skip": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"companyName"
],
"type": "object"
},
"name": "brc_list_vat_types",
"outputSchema": null
},
{
"description": "Returns a multi-company nominal-account report with period movements rather than monthly balances.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyNames": {
"description": "The company names to report on.",
"items": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"minItems": 1,
"type": "array"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"companyNames"
],
"type": "object"
},
"name": "brc_multi_company_nom_ac_report",
"outputSchema": null
},
{
"description": "Returns the protected education-administration URL. Access requires Microsoft Entra sign-in and does not bypass authentication. The response contains no upload secret or bypass parameter.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "brc_open_edu_admin",
"outputSchema": null
},
{
"description": "Processes VAT rates for VAT categories via POST /v1/vatCategories/vatRates. Requires a full vatCategoryRates array and confirmProcess=true. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmProcess": {
"default": false,
"type": "boolean"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"effectiveDate": {
"description": "Not a valid standalone payload. Use vatCategoryRates instead.",
"type": "string"
},
"payload": {
"additionalProperties": {},
"description": "Deprecated. Use vatCategoryRates instead of a raw payload object.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"vatCategoryRates": {
"description": "Full BRC payload array for POST /v1/vatCategories/vatRates, e.g. [{ vatCategoryId: 1, vatRates: [...] }].",
"items": {
"properties": {
"vatCategoryId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"vatRates": {
"items": {
"properties": {
"id": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"isActive": {
"type": "boolean"
},
"isDefault": {
"type": "boolean"
},
"orderIndex": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"percentage": {
"type": "number"
},
"vatCategoryId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"id",
"percentage",
"orderIndex",
"isActive",
"isDefault",
"vatCategoryId"
],
"type": "object"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"vatCategoryId",
"vatRates"
],
"type": "object"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"companyName",
"routeToken"
],
"type": "object"
},
"name": "brc_process_vat_category_rates",
"outputSchema": null
},
{
"description": "Returns Big Red Cloud help and manual Big Red Cloud instructions for how-to questions, including how do I queries and tutorials. Covers topics including sales invoices, purchases, customers, suppliers, banking, VAT, reports and company setup. Searches Freshdesk, YouTube, BRC Edu, webinars and screenshots. Read-only and available without a connected company.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"description": "Text after the red-help command, for example how do I add a sales invoice or add a customer manually.",
"minLength": 1,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "brc_red_help",
"outputSchema": null
},
{
"description": "Reopens a BRC quote. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Quote id."
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_reopen_quote",
"outputSchema": null
},
{
"description": "Resolves a company-specific bookTranTypeId against live transaction-type reference data. Descriptions and numeric IDs are not globally stable.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bookTranTypeId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"required": [
"companyName",
"bookTranTypeId"
],
"type": "object"
},
"name": "brc_resolve_book_transaction_type",
"outputSchema": null
},
{
"description": "Classifies a supplied request as help, action, correction or unsupported. Classification covers read, create, update, delete, correct, undo, reverse, email and batch actions, including creating a sales invoice or add a customer, plus help wording such as how do I. Action results include allowed tools and an opaque routeToken. Help and correction results do not issue transactional route tokens.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"message": {
"description": "The user's complete original message to classify, for example add a customer or how do I add a customer.",
"minLength": 1,
"type": "string"
}
},
"required": [
"message"
],
"type": "object"
},
"name": "brc_route_request",
"outputSchema": null
},
{
"description": "Sends a customer-statement email to the customer address or an explicit recipient override. An unconfirmed call returns an email preview; confirmSend applies the send. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bccAddresses": {
"description": "Optional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC.",
"items": {
"type": "string"
},
"type": "array"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmSend": {
"default": false,
"description": "Must be true only after the user has reviewed the email preview and explicitly confirmed sending.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"customerId": {
"description": "BRC field: customerId.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"fromAddress": {
"description": "Optional sender address override.",
"type": "string"
},
"fromPeriod": {
"description": "Statement period start (ISO date-time, e.g. 2026-01-01T00:00:00).",
"type": "string"
},
"messageBody": {
"description": "Optional custom email message body.",
"type": "string"
},
"minBalance": {
"description": "Minimum balance threshold for transactions included on the statement.",
"type": "number"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"sendMode": {
"description": "How to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails.",
"enum": [
"single_with_bcc",
"separate"
],
"type": "string"
},
"toAddress": {
"description": "Optional single recipient override. If omitted or empty, BRC uses the customer's email address.",
"type": "string"
},
"toAddresses": {
"description": "Optional list of recipients. If more than one is provided, ask the user whether to send one email with BCC or separate individual emails.",
"items": {
"type": "string"
},
"type": "array"
},
"toPeriod": {
"description": "Statement period end (ISO date-time, e.g. 2026-05-31T00:00:00).",
"type": "string"
}
},
"required": [
"companyName",
"customerId",
"routeToken"
],
"type": "object"
},
"name": "brc_send_email_statement",
"outputSchema": null
},
{
"description": "Sends a quote email to the customer address or an explicit recipient override. An unconfirmed call returns an email preview; confirmSend applies the send. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bccAddresses": {
"description": "Optional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC.",
"items": {
"type": "string"
},
"type": "array"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmSend": {
"default": false,
"description": "Must be true only after the user has reviewed the email preview and explicitly confirmed sending.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"fromAddress": {
"description": "Optional sender address override.",
"type": "string"
},
"messageBody": {
"description": "Optional custom email message body.",
"type": "string"
},
"quoteId": {
"description": "BRC field: quoteId.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"sendMode": {
"description": "How to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails.",
"enum": [
"single_with_bcc",
"separate"
],
"type": "string"
},
"toAddress": {
"description": "Optional single recipient override. If omitted or empty, BRC uses the customer's email address.",
"type": "string"
},
"toAddresses": {
"description": "Optional list of recipients. If more than one is provided, ask the user whether to send one email with BCC or separate individual emails.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"companyName",
"quoteId",
"routeToken"
],
"type": "object"
},
"name": "brc_send_quote_email",
"outputSchema": null
},
{
"description": "Sends a sales-invoice email to the customer address or an explicit recipient override. An unconfirmed call returns an email preview; confirmSend applies the send. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bccAddresses": {
"description": "Optional BCC email addresses. Only use if the user explicitly provides BCC addresses or chooses one email with BCC.",
"items": {
"type": "string"
},
"type": "array"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmSend": {
"default": false,
"description": "Must be true only after the user has reviewed the email preview and explicitly confirmed sending.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"fromAddress": {
"description": "Optional sender address override.",
"type": "string"
},
"messageBody": {
"description": "Optional custom email message body.",
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"salesInvoiceId": {
"description": "BRC field: salesInvoiceId.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"sendMode": {
"description": "How to handle multiple recipients. Use separate only when the user explicitly asks to send separate individual emails.",
"enum": [
"single_with_bcc",
"separate"
],
"type": "string"
},
"toAddress": {
"description": "Optional single recipient override. If omitted or empty, BRC uses the customer's email address.",
"type": "string"
},
"toAddresses": {
"description": "Optional list of recipients. If more than one is provided, ask the user whether to send one email with BCC or separate individual emails.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"companyName",
"salesInvoiceId",
"routeToken"
],
"type": "object"
},
"name": "brc_send_sales_invoice_email",
"outputSchema": null
},
{
"description": "Starts the secure Red / Big Red Cloud connection flow and returns a one-time connection page URL and confirmation code. The secure page supports one or multiple companies, including CSV upload, and keeps API credentials outside chat. Available without an existing company connection.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
}
},
"type": "object"
},
"name": "brc_start_company_connection",
"outputSchema": null
},
{
"description": "Updates an accrual using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"description": "Nominal account code, for example 4000.",
"minLength": 1,
"type": "string"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after the user explicitly confirms updating this accrual.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"entryDate": {
"description": "Entry date, for example 2024-03-01T00:00:00.",
"minLength": 1,
"type": "string"
},
"firstDetail": {
"default": "",
"description": "First detail text.",
"type": "string"
},
"id": {
"description": "Parent accrual id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"procDate": {
"description": "Processing date, for example 2024-03-15T00:00:00.",
"minLength": 1,
"type": "string"
},
"reference": {
"description": "Accrual reference, for example ACC0001.",
"minLength": 1,
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"secondDetail": {
"default": "",
"description": "Second detail text.",
"type": "string"
},
"timestamp": {
"description": "Base64 timestamp returned by the accrual, for example K94UQIbL3gg=.",
"minLength": 1,
"type": "string"
},
"total": {
"description": "Accrual total amount.",
"type": "number"
}
},
"required": [
"companyName",
"id",
"acCode",
"entryDate",
"procDate",
"reference",
"total",
"timestamp",
"routeToken"
],
"type": "object"
},
"name": "brc_update_accrual",
"outputSchema": null
},
{
"description": "Updates transaction allocations using eligible receiver transactions and an unconfirmed payload preview. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"allocationResolvers": {
"description": "Allocations to create or update.",
"items": {
"properties": {
"allocated": {
"description": "Amount to allocate to the receiver transaction.",
"minimum": 0,
"type": "number"
},
"bookTranIdReceiver": {
"description": "Receiver book transaction id, for example the invoice being allocated against.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"discount": {
"default": 0,
"description": "Discount amount to apply to this allocation.",
"minimum": 0,
"type": "number"
},
"id": {
"default": 0,
"description": "Existing allocation id, or 0 for a new allocation.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"allocated",
"bookTranIdReceiver"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"bookTranId": {
"description": "Book transaction id to allocate from, for example 1001.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after the user explicitly confirms posting the allocation update.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"bookTranId",
"allocationResolvers",
"routeToken"
],
"type": "object"
},
"name": "brc_update_allocations",
"outputSchema": null
},
{
"description": "Updates a BRC bank account using merged fields. An unconfirmed call returns a plain-English change preview. Explicit confirmation is required before the update is applied. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Bank account id."
},
"payload": {
"additionalProperties": {},
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"updates": {
"additionalProperties": {},
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_bank_account",
"outputSchema": null
},
{
"description": "Updates an existing Cash Payment by merging supplied fields onto the current record. Fields that can be merged include total, entryDate, procDate, supplierId, acCode, note, ledger, discount, bankAccountId, bankAccountCode, lodgement, analysisCategoryId, accountCode, and description. This update flow is a verified action on the existing record. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Cash payment id."
},
"payload": {
"additionalProperties": {},
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"updates": {
"additionalProperties": {},
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_cash_payment",
"outputSchema": null
},
{
"description": "Updates a BRC cash receipt using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Cash receipt id."
},
"payload": {
"additionalProperties": {},
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"updates": {
"additionalProperties": {},
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_cash_receipt",
"outputSchema": null
},
{
"description": "Updates a BRC customer using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Customer id."
},
"payload": {
"additionalProperties": {},
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"updates": {
"additionalProperties": {},
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_customer",
"outputSchema": null
},
{
"description": "Updates a nominal journal batch using its current concurrency timestamps. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"accountTransactions": {
"description": "Updated nominal journal account transaction lines.",
"items": {
"properties": {
"acCode": {
"description": "Nominal account code, for example 400 or 800.",
"minLength": 1,
"type": "string"
},
"credit": {
"description": "Credit amount for this line.",
"minimum": 0,
"type": "number"
},
"debit": {
"description": "Debit amount for this line.",
"minimum": 0,
"type": "number"
},
"description": {
"description": "Line description, for example Sales or Expenses.",
"minLength": 1,
"type": "string"
},
"firstDetail": {
"default": "",
"description": "First detail text for this line.",
"type": "string"
},
"id": {
"description": "Existing account transaction line id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"procDate": {
"description": "Processing date for this transaction line.",
"minLength": 1,
"type": "string"
},
"reference": {
"description": "Journal reference, for example NJ0001.",
"minLength": 1,
"type": "string"
},
"secondDetail": {
"default": "",
"description": "Second detail text for this line.",
"type": "string"
},
"timeStamp": {
"description": "Base64 timestamp for this account transaction line.",
"minLength": 1,
"type": "string"
}
},
"required": [
"acCode",
"description",
"procDate",
"reference",
"debit",
"credit",
"id",
"timeStamp"
],
"type": "object"
},
"minItems": 2,
"type": "array"
},
"bookTranTypeId": {
"default": 7,
"description": "Book transaction type id. Nominal Journal Batch is usually 7.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after the user explicitly confirms updating this Nominal Journal Batch.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"entryDate": {
"description": "Date/time string, for example 2024-01-15T00:00:00.",
"minLength": 1,
"type": "string"
},
"id": {
"description": "Nominal Journal Batch id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"procDate": {
"description": "Date/time string, for example 2024-01-15T00:00:00.",
"minLength": 1,
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"timestamp": {
"description": "Base64 timestamp for the nominal journal batch.",
"minLength": 1,
"type": "string"
},
"total": {
"minimum": 0,
"type": "number"
}
},
"required": [
"companyName",
"id",
"entryDate",
"procDate",
"total",
"timestamp",
"accountTransactions",
"routeToken"
],
"type": "object"
},
"name": "brc_update_nominal_journal_batch",
"outputSchema": null
},
{
"description": "Updates a BRC payment using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Payment id."
},
"payload": {
"additionalProperties": {},
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"updates": {
"additionalProperties": {},
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_payment",
"outputSchema": null
},
{
"description": "Updates a prepayment using its current concurrency timestamp. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"description": "Nominal account code, for example 4000.",
"minLength": 1,
"type": "string"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after the user explicitly confirms updating this prepayment.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"entryDate": {
"description": "Entry date, for example 2024-03-01T00:00:00.",
"minLength": 1,
"type": "string"
},
"firstDetail": {
"default": "",
"description": "First detail text.",
"type": "string"
},
"id": {
"description": "Parent prepayment id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"procDate": {
"description": "Processing date, for example 2024-03-15T00:00:00.",
"minLength": 1,
"type": "string"
},
"reference": {
"description": "Prepayment reference, for example PRE0001.",
"minLength": 1,
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"secondDetail": {
"default": "",
"description": "Second detail text.",
"type": "string"
},
"timestamp": {
"description": "Base64 timestamp returned by the prepayment, for example bgUcQIbL3gg=.",
"minLength": 1,
"type": "string"
},
"total": {
"description": "Prepayment total amount.",
"type": "number"
}
},
"required": [
"companyName",
"id",
"acCode",
"entryDate",
"procDate",
"reference",
"total",
"timestamp",
"routeToken"
],
"type": "object"
},
"name": "brc_update_prepayment",
"outputSchema": null
},
{
"description": "Updates a BRC product using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Product id."
},
"payload": {
"additionalProperties": {},
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"updates": {
"additionalProperties": {},
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_product",
"outputSchema": null
},
{
"description": "Updates a BRC purchase using structured MCP fields. Historical transaction dates are not automatically blocked. Existing historical purchases may support text, monetary, date and delete operations; the BRC endpoint is the source of truth. When changing monetary values, preserve the existing unpaid/unallocated state and allow BRC to recalculate allocation fields where required. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"type": "string"
},
"accountCode": {
"type": "string"
},
"analysisCategoryId": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"bookTranTypeId": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"description": {
"type": "string"
},
"entryDate": {
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Purchase id."
},
"netAmount": {
"type": "number"
},
"note": {
"type": "string"
},
"procDate": {
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"supplierId": {
"type": "string"
},
"vatPercentage": {
"type": "number"
},
"vatRateId": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_purchase",
"outputSchema": null
},
{
"description": "Updates a BRC quote's manual reference only. Quote.note is not persisted by this update and is not accepted here. Loads the current quote, preserves all other fields (including timestamp, product lines, analysis entries, totals, customer, sales rep, dates, comments, and closed state), applies the new reference, then PUTs the full record. Manual quote references must be 6 characters or fewer because Big Red Cloud truncates longer references. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Quote id."
},
"reference": {
"description": "Optional manual quote reference, max 6 characters. Required when quote references are manual, or when the quote reference setting is unknown. Quote reference must be 6 characters or fewer because Big Red Cloud truncates longer references.",
"maxLength": 6,
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_quote",
"outputSchema": null
},
{
"description": "Updates a sales credit note while preserving the existing BRC unpaid value. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"customerId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"details": {
"type": "string"
},
"entryDate": {
"description": "Entry date. Historical dates may be attempted; BRC determines whether the update is permitted.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales credit note id."
},
"note": {
"type": "string"
},
"ourReference": {
"type": "string"
},
"procDate": {
"description": "Processing date. Historical dates may be attempted; BRC determines whether the update is permitted.",
"type": "string"
},
"productTrans": {
"description": "Complete BRC productTrans collection. Preserve existing line ids and accounting/VAT data when modifying an existing credit note.",
"items": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"type": "array"
},
"reference": {
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"saleRepId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"total": {
"type": "number"
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"vatTypeId": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"yourReference": {
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_sales_credit_note",
"outputSchema": null
},
{
"description": "Updates a sales entry while preserving the existing BRC unpaid value. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"acCode": {
"description": "Customer account code.",
"type": "string"
},
"acEntries": {
"description": "Complete BRC accounting-entry collection. For monetary edits, the sum of each entry's value must equal totalNet.",
"items": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"type": "array"
},
"bookTranTypeId": {
"description": "Book transaction type id. Sales Entries normally use the existing record's transaction type.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"customerId": {
"description": "Customer id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"details": {
"description": "Sales Entry details/description field.",
"type": "string"
},
"entryDate": {
"description": "Entry date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales Entry id, normally the bookTranId returned by customer account transactions."
},
"note": {
"description": "Optional. BRC \"Note\" field on the sales document (JSON field `note`). Leave blank to default it to the customer name (BRC customer \"Name\" / JSON `name`). Do not use the product name as the note. Only set this when the user explicitly provides a note.",
"type": "string"
},
"procDate": {
"description": "Processing date in ISO format. Historical dates may be attempted; BRC determines whether the change is permitted.",
"type": "string"
},
"reference": {
"description": "Optional. BRC \"Reference\" field (JSON field `reference`). BRC \"Our Ref\" (JSON `ourReference`) and BRC \"Your Ref\" (JSON `yourReference`) default to this value when not supplied separately.",
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"total": {
"description": "New gross total. For monetary edits this must equal totalNet + totalVAT.",
"type": "number"
},
"totalNet": {
"description": "New total net value. For monetary edits this must be supplied together with totalVAT, total, acEntries and vatEntries.",
"type": "number"
},
"totalVAT": {
"description": "New total VAT value. For monetary edits this must be supplied together with totalNet, total, acEntries and vatEntries.",
"type": "number"
},
"vatEntries": {
"description": "Complete BRC VAT-entry collection. Each entry should contain the BRC vatRateId, percentage and net amount used to calculate VAT.",
"items": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"type": "array"
},
"vatTypeId": {
"description": "VAT type id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_sales_entry",
"outputSchema": null
},
{
"description": "Updates a sales invoice. Supplied monetary changes must be explicit and reconciled. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bookTranTypeId": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"customerId": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"details": {
"type": "string"
},
"entryDate": {
"description": "Entry date. Historical dates are permitted as an attempted update; BRC may accept or reject them.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales invoice id."
},
"note": {
"description": "Optional. BRC \"Note\" field on the sales document (JSON field `note`). Leave blank to default it to the customer name (BRC customer \"Name\" / JSON `name`). Do not use the product name as the note. Only set this when the user explicitly provides a note.",
"type": "string"
},
"ourReference": {
"type": "string"
},
"procDate": {
"description": "Processing date. Historical dates are permitted as an attempted update; BRC may accept or reject them.",
"type": "string"
},
"productTrans": {
"description": "Complete BRC productTrans collection. Use this when changing invoice lines, quantities, unit prices, VAT or line amounts.",
"items": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"type": "array"
},
"reference": {
"description": "Optional. BRC \"Reference\" field (JSON field `reference`). BRC \"Our Ref\" (JSON `ourReference`) and BRC \"Your Ref\" (JSON `yourReference`) default to this value when not supplied separately.",
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"saleRepId": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"total": {
"type": "number"
},
"totalNet": {
"type": "number"
},
"totalVAT": {
"type": "number"
},
"vatTypeId": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"yourReference": {
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_sales_invoice",
"outputSchema": null
},
{
"description": "Updates a BRC sales rep using structured MCP fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"code": {
"type": "string"
},
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Sales rep id."
},
"name": {
"type": "string"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_sales_rep",
"outputSchema": null
},
{
"description": "Updates a BRC supplier using merged fields. Requires a valid routeToken issued for the matching action workflow. The token remains valid through lookup, preview and the permitted transaction. Placeholder tokens are invalid. A routeToken does not bypass preview or explicit-confirmation requirements. A call without confirmWrite: true returns confirmation_required and a payload preview. confirmWrite: true applies the previewed change after explicit confirmation. Passing preflight is not confirmation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"confirmWrite": {
"description": "Must be true only after a plain-English preview before posting has been shown in the current conversation and the user explicitly confirmed posting (for example yes, create it / post it now / confirm). Never set true on the first call or because the user initially asked to create something. Nothing is written to Big Red Cloud until you confirm.",
"type": "boolean"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"id": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"description": "Supplier id."
},
"payload": {
"additionalProperties": {},
"description": "Alias for updates.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"routeToken": {
"description": "Opaque routeToken from brc_route_request for this action workflow. Required for transactional tools. Routing permission only — does not replace preview-before-posting or confirmWrite.",
"minLength": 1,
"type": "string"
},
"updates": {
"additionalProperties": {},
"description": "Fields to merge into the existing record.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"companyName",
"id",
"routeToken"
],
"type": "object"
},
"name": "brc_update_supplier",
"outputSchema": null
},
{
"description": "Checks whether a proposed transaction date is inside the connected BRC company's current financial year.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"companyName": {
"description": "Company context name, for example YOUR-COMPANY-NAME.",
"minLength": 1,
"type": "string"
},
"connectionRef": {
"description": "Opaque Red connection reference returned by brc_confirm_company_connection. Pass this exact value on every later tool call when the MCP client rotates session ids (for example Vibe/Mistral). Keep reusing the same connectionRef after successful tool calls — do not start a new connection because a lookup returned empty or partial data. It is not an API key and does not contain credentials.",
"type": "string"
},
"transactionDate": {
"description": "Date to validate in YYYY-MM-DD format.",
"type": "string"
}
},
"required": [
"companyName",
"transactionDate"
],
"type": "object"
},
"name": "brc_validate_transaction_date",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:0d3a2d1fb77b14f316b4720102a5de0345f3645314738193ca5568acca8e3ea6 | sha256sum