Brex MCP Server
A Model Context Protocol (MCP) server for integrating with the Brex API, enabling AI agents to interact with financial data and resources.
Overview
This MCP server provides a bridge between AI agents and the Brex financial platform, allowing agents to:
- Retrieve account information and transactions
- Access expense data and receipts
- Manage budget resources and spend limits
- View team information
The server implements standardized resource handlers and tools following the MCP specification, enabling secure and efficient access to financial data.
Features
Resources
Account Resources
brex://accounts
- List all accountsbrex://accounts/{id}
- Access specific account details
Expense Resources
brex://expenses
- List all expenses with paginationbrex://expenses/{id}
- Access specific expense detailsbrex://expenses/card
- List all card expensesbrex://expenses/card/{id}
- Access specific card expense details
Note: Expense resources automatically expand merchant and budget information to display human-readable names instead of IDs.
Budget Resources
brex://budgets
- List all budgets with paginationbrex://budgets/{id}
- Access specific budget detailsbrex://spend_limits
- List all spend limitsbrex://spend_limits/{id}
- Access specific spend limit detailsbrex://budget_programs
- List all budget programsbrex://budget_programs/{id}
- Access specific budget program details
Team Resources
brex://users/me
- Get current user information
Tools
Receipt Management
match_receipt
- Match a receipt with existing expensesupload_receipt
- Upload a receipt for a specific expense
Expense Management
update_expense
- Update details for a card expense (memo, category, etc.)get_all_expenses
- Get all expenses with filtering options and expanded merchant/budget informationget_all_card_expenses
- Get all card expenses with filtering options and expanded merchant/budget information
Note: For security reasons, tools that create, update, or delete budgets, spend limits, and budget programs are not implemented in this version.
Installation
Prerequisites
- Node.js v18 or higher
- Brex API access token
Setup
-
Clone this repository:
git clone https://github.com/dennisonbertram/brex-mcp-server.git cd brex-mcp-server
-
Install dependencies:
npm install
-
Create a
.env
file with your Brex API token:BREX_API_KEY=your_token_here BREX_API_URL=https://platform.brexapis.com PORT=3000 NODE_ENV=development RATE_LIMIT_REQUESTS=1000 RATE_LIMIT_WINDOW_MS=60000 LOG_LEVEL=info
-
Build the server:
npm run build
Configuration with Claude
To use with Claude Desktop, you need to add the server to Claude's configuration file:
On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%\Claude\claude_desktop_config.json
-
Open Claude for Desktop and go to settings by clicking on the Claude menu and selecting "Settings..."
-
Click on "Developer" in the left sidebar, then click "Edit Config"
-
Update the configuration file with the Brex MCP server settings:
{ "mcpServers": { "brex-server": { "command": "node", "args": [ "/path/to/brex-mcp-server/build/index.js" ], "env": { "BREX_API_KEY": "your_brex_api_key_here", "BREX_API_URL": "https://platform.brexapis.com", "PORT": "3000", "NODE_ENV": "development", "RATE_LIMIT_REQUESTS": "1000", "RATE_LIMIT_WINDOW_MS": "60000", "LOG_LEVEL": "info" } } } }
Make sure to:
- Replace
/path/to/brex-mcp-server
with the actual path where you installed the server - Replace
your_brex_api_key_here
with your actual Brex API key - Use absolute paths for the server location
Only the
BREX_API_KEY
andBREX_API_URL
values are required; the other environment variables have sensible defaults but can be customized if needed. - Replace
-
Save the file and restart Claude for Desktop
-
Verify the server is working by checking for the hammer icon in the bottom right corner of the input box
Development
For development with auto-rebuild:
npm run dev
Lint your code:
npm run lint
Run tests:
npm run test
Debugging
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector for debugging.
Security Considerations
This server implements several security measures:
- Read-only operations for sensitive financial resources
- No storage of API credentials in code
- Rate limiting for API requests
- Proper error handling and logging
Implementation Status
For a detailed implementation plan and status of various features, see documentation/implementation_plan.md
.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Author
Dennison Bertram - [email protected]