The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Red by Big Red Cloud listing page.
Red is an open-source Model Context Protocol (MCP) server that connects AI assistants and MCP clients to Big Red Cloud accounting data through a set of controlled MCP tools.
Supported customer platforms today are ChatGPT, Claude, and Mistral (including Vibe). Other MCP clients may work technically, but they are not treated as officially supported platforms. Red uses platform detection only for anonymous operational telemetry (see Privacy-safe telemetry).
Instead of calling the Big Red Cloud REST API directly, users work in plain language. The server translates requests into structured API calls and applies safety checks around anything that changes data.
With Red, a connected user can:
We believe AI infrastructure should be transparent. Customers should be able to inspect the software that connects their accounting data to AI assistants.
Our competitive advantage is not the connector itself; it is our accounting platform, our expert bookkeeping advice, our customer experience, and the value we build on top of it.
By open-sourcing Red, we hope to encourage trust, community contributions, and wider adoption of open standards.
failedCompaniesconnectionRef / activeConnectionRef so MCP clients can silently reuse a confirmed connection across supported session changes; kept in tool JSON, not shown to end usersrouteToken from the router before create/update/delete/batch/email workflows proceedbrc_company_readiness_check) for connected companiespriceBasis handling, Sales VAT category validation, placeholder product ID blocking, and related preflight checksRed is designed so that AI-driven access to accounting data stays controlled and auditable.
connectionRef / activeConnectionRef without asking the user to reconnect.failedCompanies at confirmation time.connectionRef, session IDs, and other MCP diagnostics are for tool arguments only. Assistants must not show redconn_… values or internal connection metadata to normal users unless the user explicitly asks for technical details.BRC_API_KEY_TTL_MINUTES. User-facing wording (connection page, getting-started text, connection status) is derived from that value — not hardcoded.routeToken issued by the request router for the matching workflow. A route token is not permission to post — preview and confirmation still apply.Sales invoice handling includes:
priceBasis of gross or net so VAT is never guessed.productId 0 and 1) are treated as placeholders and blocked before preview-before-posting and post.brc_create_sales_invoice_gen_ref) require each productTrans line to include its own acEntries analysis allocation. Line net/VAT/gross reconciliation, analysis allocation totals, header totals, and required product/VAT/analysis fields are validated before posting; failures return structured field-level errors.note defaults to the customer name unless a note is explicitly provided, and is never set to a product name.deliveryTo is included only when a delivery address is explicitly provided.Two entry points share one tool registry:
| Entry | File | Transport | Use case |
|---|---|---|---|
| Local stdio | src/index.ts | StdioServerTransport | An MCP client spawns node build/index.js |
| Hosted HTTP | src/remote.ts | Streamable HTTP on /mcp | npm run start — one MCP server per session |
Key shared modules:
src/server.ts — MCP server factory and stdio singletonsrc/register_all_tools.ts — central tool registration; skips tools whose skill group is disabled, and wraps write tools with routing and preview-before-posting/confirmation handlingsrc/config/server_config.ts — deployment skill gating driven by the BRC_ALLOW_* flagssrc/config/mcp_config.ts — MCP server instructions, connection-safety rules, help-answer rules, and connectionRef presentation rulessrc/routing/ — request classification and short-lived routeToken issuance/validation for transactional toolssrc/shared.ts — Big Red Cloud HTTP client, session-scoped connections, audit log, and helperssrc/read_connection_metadata.ts — connection status metadata echoed on tool responses (including activeConnectionRef for hosted clients)src/auth/connection_presentation.ts — user-facing TTL wording and assistant presentation hintssrc/auth/credential_validation.ts — BRC read validation before storing company connection credentialssrc/guards/ — transaction, reference, VAT category, product line, and write-confirmation safety checkssrc/auth/ — secure connection flow, connection store (memory or Cosmos), connection page, and credential persistencesrc/telemetry/ — anonymous client/session identity and platform detection for hosted operational telemetrysrc/brc-edu/ — Freshdesk articles, customer documentation, webinar indexes, screenshots, and unified help searchsrc/edu/ — shared help-resource loading, enrichment, workbook parsing, and storage configurationsrc/tools/edu/ — read-only help toolssrc/tools/routing/ — request-routing tool registrationDomain logic lives under src/tools/, with generic create/update/delete/list/batch helpers in src/tools/general/.
@modelcontextprotocol/sdkIf a .env.example file is provided, copy it to .env and adjust the values:
Never commit your .env file or any real credentials.
Hosted HTTP server:
Local stdio server:
Opening the HTTP endpoint in a browser without an MCP session returns an error — that is expected.
Local stdio (the client spawns the process):
Hosted HTTP (production):
For the hosted Big Red Cloud Red service, customers should use:
https://red.bigredcloud.com/mcp
Hosted HTTP (local development):
| Script | Command | Purpose |
|---|---|---|
| Build | npm run build | Compile TypeScript to build/ |
| Dev HTTP | npm run dev | Run the HTTP server from source with tsx |
| Dev stdio | npm run dev:local | Run the stdio server from source with tsx |
| All tests | npm test | Build, then run the full test suite |
| Unit tests | npm run test:unit | Unit tests only |
| Security tests | npm run test:security | Security-focused tests |
| Config tests | npm run test:config | Deployment/config tests |
| Integration tests | npm run test:integration | Integration tests |
| Production audit | npm run audit:prod | npm audit for production dependencies |
Tests cover the safety guards described above, including sales invoice checks, transaction date validation, the secure connection flow (CSV validation, partial confirm, credential invalidation), connectionRef presentation rules, request routing, TTL wording, and response wording.
Configure the server with environment variables (for example via a .env file). The values below are examples only and must never contain real secrets or be committed.
Deployment skill flags control which categories of tools are registered. When a flag is off, tools in that skill group are skipped at registration and do not appear to MCP clients:
You can review the active customer-facing capability summary at runtime with the brc_get_deployment_policy tool (plain-language availability of read, create/change, delete, email, and batch — not a full tool catalogue).
Customers should connect companies through the secure Red connection page. Company connection credentials must not be sent through chat — they are entered only on the secure Red connection page, not in the chat window.
Customers can get or regenerate their company API keys in Big Red Cloud under Administration → API Keys.
The flow is:
failedCompanies immediately — you do not need to run a lookup first to discover a bad key.Connection links are one-time use. Connected companies stay available for about the configured session duration (BRC_API_KEY_TTL_MINUTES, for example 240 minutes → about four hours), unless you disconnect or the connection expires.
connectionRefIn hosted HTTP mode (for example Mistral/Vibe), brc_confirm_company_connection returns an opaque connectionRef in the tool JSON. MCP clients should preserve and silently reuse connectionRef / activeConnectionRef on later tool calls when the platform rotates session IDs. Connection persistence survives MCP session rotation where supported. This is an implementation detail for the client — assistants should not show connectionRef or redconn_… values to end users. Tool responses include assistantInstruction / presentationHint fields to reinforce that rule.
Helper tools:
On hosted deployments, Red may record anonymous operational telemetry so operators can understand approximate usage. Typical dimensions include anonymous client and connection-session identifiers, detected platform, deployment environment, tool name, and connected-company count.
Telemetry does not include API keys, credentials, raw connectionRef values, authorisation headers, request bodies, or invoice/customer/supplier payloads. Failed Big Red Cloud calls may include safe identifiers such as company_id or record_id. These metrics are not verified Big Red Cloud user identities (OAuth user identity is not implemented).
Details for operators and developers: docs/TELEMETRY.md.
Red exposes a focused set of MCP tools, grouped by domain. Exact tool names and their endpoint mappings live in the source code under src/tools/ and are summarised for developers in docs/TOOLS.md.
Batch variants exist for the main create workflows and apply the same safety checks as the single-record tools.
brc_company_readiness_check is a read-only overall health check for a connected company. Overall statuses are:
readyready_with_warningsnot_readyconnection_problemIt reviews connection status plus relevant setup such as financial year, transaction date position, active Sales VAT rates, Sales Analysis categories, products, and sales representatives. Missing suppliers is reported as a purchase-setup warning and does not block sales-invoice readiness. Manual reference settings are treated as a warning / preflight consideration, not necessarily a blocker.
For a specific VAT-sensitive workflow (sales invoice, purchase, cash receipt, statement), use brc_check_transaction_settings instead — that tool checks one workflow’s processing settings, while readiness scores overall company readiness. Narrower helpers such as brc_validate_transaction_date, brc_get_company_processing_settings, and brc_get_company_reference_settings remain available for focused lookups.
brc_list_audit_log shows Red write activity from the current session for currently connected companies. Read-only lookups are not treated as completed changes.
brc_generate_support_report creates a downloadable plain-text diagnostic for one connected company at a time. If several companies were used, generate a separate report for each. Reports include success/failure and correlation information useful to support. They exclude credentials, API keys, tokens and connection references. Generating a report is read-only and does not write to Big Red Cloud.
Developer details: docs/TOOLS.md and docs/TELEMETRY.md.
A transaction date outside the current financial year is a warning, not an automatic statement that the operation is impossible. After normal preview and confirmation, Red attempts only the supported action. If Big Red Cloud rejects the action or date, Red reports the actual response. Not every historical transaction can be changed.
brc_generate_sales_invoice_from_quote).brc_resolve_book_transaction_type) before a document-specific lookup or change.Red includes read-only MCP tools for Big Red Cloud help and training questions. They do not require a connected company.
Typical capabilities:
red-help / /red-help style commands) through the help pipeline.Help answers may include:
Help-resource indexes are supplied by the deployment operator. The public repository does not include Big Red Cloud’s internal content-management or resource-upload workflow.
unknown when a client does not provide enough identifying information.This project is maintained by the Big Red Cloud software development team.
Red is in BETA. Red is an open-source MCP integration for Big Red Cloud and is under active development. Tool availability and behaviour may change between releases, and some capabilities are gated by deployment policy.
This project is licensed under the Apache License 2.0. See LICENSE for details.
If you believe you have found a security issue, please report it to Big Red Cloud's support team.