Serveur Brex MCP
Serveur MCP (Model Context Protocol) pour l'intégration de l'API Brex, permettant aux agents d'intelligence artificielle d'interagir avec les données et les ressources financières.
Vue d'ensemble
Ce serveur MCP constitue une passerelle entre les agents d'intelligence artificielle et la plateforme financière Brex, ce qui permet aux agents de
- Récupérer des informations sur les comptes et les transactions
- D'accéder aux données relatives aux dépenses et aux reçus
- Gérer les ressources budgétaires et les limites de dépenses
- De consulter les informations relatives à l'équipe
Le serveur met en œuvre des outils et des gestionnaires de ressources normalisés conformément à la spécification MCP, ce qui permet un accès sécurisé et efficace aux données financières.
Caractéristiques
Ressources
Ressources des comptes
brex://accounts
- Liste de tous les comptesbrex://accounts/{id}
- Accès aux détails d'un compte spécifique
Ressources relatives aux dépenses
brex://expenses
- Liste de toutes les dépenses avec paginationbrex://expenses/{id}
- Accès aux détails d'une dépense spécifiquebrex://expenses/card
- Liste de toutes les dépenses par cartebrex://expenses/card/{id}
- Accéder aux détails d'une dépense spécifique par carte
Remarque: les ressources de dépenses développent automatiquement les informations relatives au commerçant et au budget afin d'afficher des noms lisibles par l'homme au lieu des identifiants.
Ressources budgétaires
brex://budgets
- Liste de tous les budgets avec paginationbrex://budgets/{id}
- Accès aux détails d'un budget spécifiquebrex://spend_limits
- Liste de toutes les limites de dépensesbrex://spend_limits/{id}
- Accéder aux détails d'une limite de dépenses spécifiquebrex://budget_programs
- Liste de tous les programmes budgétairesbrex://budget_programs/{id}
- Accéder aux détails d'un programme budgétaire spécifique
Ressources de l'équipe
brex://users/me
- Obtenir des informations sur l'utilisateur actuel
Outils
Gestion des reçus
match_receipt
- Associer un reçu à des dépenses existantesupload_receipt
- Télécharger un reçu pour une dépense spécifique
Gestion des dépenses
update_expense
- Mettre à jour les détails d'une dépense par carte (mémo, catégorie, etc.)get_all_expenses
- Obtenir toutes les dépenses avec des options de filtrage et des informations détaillées sur le commerçant et le budgetget_all_card_expenses
- Permet d'obtenir toutes les dépenses par carte avec des options de filtrage et des informations détaillées sur le commerçant et le budget
Remarque: pour des raisons de sécurité, les outils permettant de créer, de mettre à jour ou de supprimer des budgets, des limites de dépenses et des programmes budgétaires ne sont pas implémentés dans cette version.
Installation de l'application
Conditions préalables
- Node.js v18 ou supérieur
- Jeton d'accès à l'API Brex
Configuration
- Clonez ce dépôt :
git clone https://github.com/dennisonbertram/brex-mcp-server.git cd brex-mcp-server
- Installer les dépendances :
npm install
- Créez un fichier
.env
avec votre jeton API Brex :
BREX_API_KEY=votre_token_ici BREX_API_URL=https://platform.brexapis.com PORT=3000 NODE_ENV=development RATE_LIMIT_REQUESTS=1000 RATE_LIMIT_WINDOW_MS=60000 LOG_LEVEL=info
- Construisez le serveur :
npm run build
Configuration avec Claude
Pour utiliser Claude Desktop, vous devez ajouter le serveur au fichier de configuration de Claude :
Sur macOS : ~/Bibliothèque/Application Support/Claude/claude_desktop_config.json
Sur Windows : %APPDATA%\Claudeclaude_desktop_config.json
- Ouvrez Claude for Desktop et allez dans les paramètres en cliquant sur le menu Claude et en sélectionnant "Paramètres..."
- Cliquez sur "Developer" dans la barre latérale gauche, puis cliquez sur "Edit Config"
- Mettez à jour le fichier de configuration avec les paramètres du serveur Brex MCP :
{ "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" } } }
Assurez-vous de :
- Remplacer
/path/to/brex-mcp-server
par le chemin réel où vous avez installé le serveur - Remplacer
your_brex_api_key_here
par votre clé d'API Brex - Utilisez des chemins absolus pour l'emplacement du serveur
Seules les valeurs BREX_API_KEY
et BREX_API_URL
sont nécessaires ; les autres variables d'environnement ont des valeurs par défaut raisonnables mais peuvent être personnalisées si nécessaire.
- Enregistrez le fichier et redémarrez Claude for Desktop
- Vérifiez que le serveur fonctionne en vérifiant la présence de l'icône du marteau dans le coin inférieur droit de la boîte de saisie
Développement
Pour le développement avec reconstruction automatique :
npm run dev
Lint votre code :
npm run lint
Exécutez des tests :
npm run test
Débogage
Comme les serveurs MCP communiquent via stdio, le débogage peut s'avérer difficile. Nous recommandons d'utiliser l'inspecteur MCP pour le débogage.
Considérations de sécurité
Ce serveur met en œuvre plusieurs mesures de sécurité :
- Opérations en lecture seule pour les ressources financières sensibles
- Pas de stockage des identifiants API dans le code
- Limitation du débit des demandes d'API
- Traitement et journalisation appropriés des erreurs
État de la mise en œuvre
Pour un plan de mise en œuvre détaillé et l'état d'avancement des différentes fonctionnalités, voir documentation/implementation_plan.md
.
Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Auteur du projet
Dennison Bertram - dennison@dennisonbertram.com