Brex MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Port to run the server on | 3000 |
| NODE_ENV | No | Node environment | development |
| LOG_LEVEL | No | Logging level | info |
| BREX_API_KEY | Yes | Your Brex API token | |
| BREX_API_URL | No | The Brex API URL | https://platform.brexapis.com |
| RATE_LIMIT_REQUESTS | No | Maximum number of requests allowed in the rate limit window | 1000 |
| RATE_LIMIT_WINDOW_MS | No | Rate limit window in milliseconds | 60000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_budgetsB | List budgets (read-only). Example: {"limit":10} |
| get_budgetA | Get a budget by ID (read-only). Returns the complete budget object. Example: {"budget_id":"budget_123"} |
| get_spend_limitsC | List spend limits (read-only). Example: {"limit":10,"status":"ACTIVE"} |
| get_spend_limitB | Get a spend limit by ID (read-only). Example: {"id":"sl_123"} |
| get_budget_programsC | List budget programs (read-only). Returns complete budget program objects. Example: {"limit":10,"budget_program_status":"ACTIVE"} |
| get_budget_programC | Get a budget program by ID (read-only). Example: {"id":"bp_123"} |
| get_expenseB | Get a single expense by ID. Returns the complete expense object. Example: {"expense_id":"expense_123","expand":["merchant"]} |
| get_card_expenseC | Get a single card expense by ID. Returns the complete card expense object. Example: {"expense_id":"expense_123","expand":["merchant"]} |
| get_card_statements_primaryC | Get complete statements for the primary card account. Returns full statement objects. Example: {"limit":10} |
| get_cash_transactionsB | LIST: Cash transactions (requires cash scopes). Example: {"account_id":"cash_acc_123","limit":10}. Returns complete transaction objects. |
| get_card_transactionsC | LIST: Primary card transactions. Returns complete transaction objects. Example: {"limit":10,"posted_at_start":"2025-08-01T00:00:00Z","expand":["merchant"]} |
| get_cash_account_statementsC | Get cash account statements by account ID. Returns complete statement objects. Example: {"account_id":"cash_acc_123","limit":5} |
| get_transactionsC | Get transactions for a Brex account |
| get_expensesB | LIST (single page): Expenses with optional filters. Returns complete expense objects. Example: {"limit":5,"status":"APPROVED","expand":["merchant"]} |
| get_account_detailsC | Get detailed information about a Brex account |
| upload_receiptC | Upload a receipt image to match with expenses |
| match_receiptA | Create a pre-signed URL for uploading a receipt that will be automatically matched with existing expenses |
| update_expenseC | Update an existing card expense |
| get_all_accountsB | Get all Brex accounts with pagination support |
| get_all_expensesC | LIST: Paginated expenses with filters. Returns complete expense objects. Example: {"page_size":5,"max_items":5,"status":["APPROVED"],"window_days":7,"min_amount":100} |
| get_all_card_expensesB | LIST: Paginated card expenses (no expense_type needed). Returns complete card expense objects. Example: {"page_size":5,"max_items":5,"window_days":7,"min_amount":100} |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| summarize_transactions | Summarize transactions for a Brex account |
| summarize_expenses | Summarize expenses by category and status |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Brex Accounts | List of all Brex accounts |
| Brex Card Accounts | List of all Brex card accounts |
| Brex Cash Accounts | List of all Brex cash accounts |
| Brex Primary Cash Account | Brex primary cash account details |
| Brex Card Transactions | List of all Brex card transactions |
| Brex Expenses | List of all Brex expenses |
| Brex Card Expenses | List of all Brex card expenses |
| Brex Budgets | List of all Brex budgets |
| Brex Spend Limits | List of all Brex spend limits |
| Brex Budget Programs | List of all Brex budget programs |
| Brex MCP Usage Guide | Guidelines and examples for using the tools safely and efficiently |
TDQS
Scored across 21 tools
Most tools have distinct purposes targeting specific resources like accounts, expenses, budgets, or transactions, with clear naming. However, some overlap exists between 'get_all_expenses' and 'get_expenses' (both list expenses with filters), and 'get_all_card_expenses' and 'get_card_expense' could cause minor confusion due to similar naming but different functions (list vs. single).
Tool names follow a highly consistent verb_noun pattern throughout, using 'get_' for read operations, 'update_' for modifications, and 'match_'/'upload_' for specific actions. All names are in snake_case with no deviations, making them predictable and easy to parse for an agent.
With 21 tools, the count is on the higher side for a financial management server, bordering on heavy. While it covers many aspects of Brex's domain (accounts, expenses, budgets, transactions, receipts), it might be slightly overwhelming for an agent to navigate efficiently, though not extreme.
The tool set provides comprehensive read coverage for core resources like accounts, expenses, budgets, and transactions, with some write/update capabilities (e.g., update_expense, match_receipt). Minor gaps include lack of create/delete operations for budgets or spend limits, but agents can likely work around this for most workflows in the financial domain.