Back to MCP Servers

Brex MCP Server

Community MCP server for the Brex API. Read corporate card transactions, expenses, budgets, spend limits, and account data, plus upload and match receipts.

Payments by Community (crazyrabbitLTC / Dennison Bertram) API Key active
Overview

Brex is a corporate card and spend management platform for startups and enterprises. This community-maintained MCP server, published as mcp-brex on npm by Dennison Bertram (crazyrabbitLTC), gives AI agents structured access to the Brex API. It is designed around "safe, small, read-only responses with projection and batching," meaning the tools enforce pagination, date-range filtering, and selective field expansion so agents do not blow up their context window when querying financial data.

The server exposes tools across budgets, budget programs, spend limits, expenses (both general and card-specific), card and cash transactions, card and cash account statements, and accounts. A small set of write operations is supported: uploading receipts, matching receipts to expenses, and updating expenses. Expense responses auto-expand merchant and budget fields for readability.

Note: this is not an official Brex product. Brex does not publish a first-party MCP server today. The repository is small (a handful of GitHub stars, MIT-licensed) but appears to be the most complete Brex MCP implementation available. Cash endpoints require additional Brex API scopes and may return 403 if your token does not have them.

Tools

Tool Description
get_budgets List budgets in the Brex account with pagination and filtering.
get_budget Fetch a single budget by ID.
get_budget_programs List budget programs.
get_budget_program Fetch a single budget program by ID.
get_spend_limits List spend limits across the account.
get_spend_limit Fetch a single spend limit by ID.
get_expenses List expenses with filters and pagination.
get_all_expenses Iterate all expense pages up to a cap.
get_all_card_expenses Iterate all card-specific expenses.
get_expense Fetch a single expense by ID.
get_card_expense Fetch a single card expense by ID.
get_card_transactions List card transactions for a window.
get_cash_transactions List cash account transactions (requires cash scope).
get_card_statements_primary Retrieve primary card account statements.
get_cash_account_statements Retrieve cash account statements.
get_all_accounts List all Brex accounts (card and cash) visible to the token.
get_account_details Fetch detailed info for a specific account.
match_receipt Match an uploaded receipt to an existing expense.
upload_receipt Upload a receipt file or URL to Brex.
update_expense Update fields on an existing expense (memo, category, etc.).
Setup Guide

Prerequisites

  • A Brex account with API access
  • A Brex API key from the Brex developer dashboard (https://developer.brex.com/)
  • Node.js installed locally (the server runs via npx)

Install

npm install -g mcp-brex

Claude Desktop config

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "brex": {
      "command": "npx",
      "args": ["mcp-brex"],
      "env": {
        "BREX_API_KEY": "your_brex_api_key"
      }
    }
  }
}

Claude Code

claude mcp add brex --env BREX_API_KEY=your_brex_api_key -- npx mcp-brex

Environment variables

  • BREX_API_KEY (required): your Brex API token
  • BREX_API_URL (optional): override the API base URL; defaults to the Brex production endpoint

Notes

  • Use narrowly-scoped API keys. The token has access to whatever your Brex user is allowed to see.
  • Cash account endpoints require extra Brex scopes; missing scopes return a graceful 403.
  • Prefer page_size (max 50), max_items (recommended ceiling 200), and start_date/end_date filters on bulk calls to keep responses small.
Use Cases
  • Pull a list of all card expenses over $500 in the last 30 days and have the agent draft a Slack summary for finance review.
  • Reconcile receipts: have an agent upload receipt images from a folder and match them to the matching open Brex expense by amount and merchant.
  • Audit spend limits across budget programs to find unused or oversized limits before quarterly planning.
  • Generate a CFO-style monthly report combining card statements, cash account statements, and budget burn rates.
  • Bulk-update expense memos or categorize uncategorized expenses by querying get_expenses with status=NEEDS_USER_INPUT and calling update_expense.
Example Prompts
  • "List all Brex card expenses from last month over $1,000 and group them by merchant."
  • "Show me every active spend limit and flag any with less than 10% utilization."
  • "Upload the receipts in ~/receipts/april/ to Brex and match them to open expenses."
  • "Pull the primary card statement for March and summarize spending by budget."
  • "Find all expenses missing a memo and add a one-line description based on the merchant."
Pros
  • Broad read coverage across budgets, expenses, transactions, statements, and accounts.
  • Built-in pagination, date filtering, and field expansion controls to keep responses LLM-friendly.
  • Supports a useful set of write operations: receipt upload, receipt matching, and expense updates.
  • MIT-licensed and distributed as a simple npx-runnable npm package.
Limitations
  • Community-maintained, not official from Brex. Low star count and limited maintenance guarantees.
  • API token is broad-scope: anything the underlying Brex user can see, the agent can see. No fine-grained per-tool auth.
  • Cash account endpoints require extra Brex API scopes and will 403 without them.
Alternatives
  • Composio Brex toolkit: hosted Brex tools accessible via Composio's MCP gateway, with managed auth.
  • Zapier MCP for Brex: Brex actions exposed through Zapier's MCP server, useful if you already use Zapier for finance workflows.
  • Building directly against the Brex REST API from a custom MCP server if you need scopes or tools this community server does not cover.