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.
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.). |
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 tokenBREX_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), andstart_date/end_datefilters on bulk calls to keep responses small.
- 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_expenseswithstatus=NEEDS_USER_INPUTand callingupdate_expense.
- "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."
- 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.
- 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.
- 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.