distractdiverge/buxfer-mcp-server
3.2
If you are the rightful owner of buxfer-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A TypeScript implementation of an MCP server for Buxfer API integration.
Buxfer MCP Server
A TypeScript implementation of an MCP server for Buxfer API integration.
Features
- MCP server implementation for Buxfer API
- Secure authentication
- Proxy for Buxfer API endpoints
- TypeScript support with proper type definitions
Setup
- Install dependencies:
npm install
- Copy
.env.example
to.env
and fill in your Buxfer credentials:
cp .env.example .env
- Start the server in development mode:
npm run dev
API Usage
The server implements the MCP protocol and forwards requests to the Buxfer API. Here's an example of how to use it:
// Login
await fetch('http://localhost:3000/mcp', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
method: 'POST',
path: '/api/login',
params: {
email: 'your-email@example.com',
password: 'your-password'
}
})
});
const { data: { token } } = await loginResponse.json();
Fetching Transactions
// Get transactions
const transactionsResponse = await fetch('http://localhost:3000/mcp', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
method: 'GET',
path: '/transactions',
params: {
token: 'your-token',
description: 'Grocery Shopping',
amount: '50.00',
accountId: '123',
date: '2025-06-11',
type: 'expense',
status: 'cleared'
}
})
});
Supported API Endpoints
/login
- Authenticate with Buxfer/transaction_add
- Add a new transaction/transaction_edit
- Edit an existing transaction/transaction_delete
- Delete a transaction/upload_statement
- Upload bank statement/transactions
- Get transactions/accounts
- Get accounts/loans
- Get loans/tags
- Get tags/budgets
- Get budgets/reminders
- Get reminders/groups
- Get groups/contacts
- Get contacts
Security
- All requests must include a valid token after login
- Credentials are stored securely in environment variables
- CORS is enabled with proper configuration