buxfer-mcp-server

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

  1. Install dependencies:
npm install
  1. Copy .env.example to .env and fill in your Buxfer credentials:
cp .env.example .env
  1. 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