AlexlaGuardia

mcp-freshbooks

Community AlexlaGuardia
Updated

mcp-freshbooks

Production-grade MCP server for FreshBooks — 25 tools for invoices, clients, expenses, payments, time tracking, projects, estimates, and financial reports.

Features

  • 25 tools covering the full FreshBooks accounting workflow
  • OAuth2 authentication with automatic token refresh
  • Clean output — summarized lists, formatted details
  • Production-grade error handling and rate limit awareness
  • Zero cost — uses FreshBooks free developer program

Tools

Category Tools Description
Auth freshbooks_authenticate, freshbooks_authenticate_with_code, freshbooks_whoami OAuth2 flow + identity
Invoices list_invoices, get_invoice, create_invoice, update_invoice, send_invoice, delete_invoice Full invoice lifecycle
Clients list_clients, get_client, create_client, update_client Client management
Expenses list_expenses, get_expense, create_expense Expense tracking
Payments list_payments, create_payment Payment recording
Time Tracking list_time_entries, create_time_entry Time entry management
Projects list_projects, create_project Project management
Estimates list_estimates, create_estimate Estimate creation
Reports get_report Profit & loss, tax summary, payments collected

Quick Start

1. Install

pip install mcp-freshbooks

Or from source:

git clone https://github.com/AlexlaGuardia/mcp-freshbooks.git
cd mcp-freshbooks
pip install .

2. Get FreshBooks API Credentials

  1. Sign up at freshbooks.com/pages/developer-signup
  2. Create an OAuth app in the developer portal
  3. Set redirect URI to https://localhost:8555/callback
  4. Copy your Client ID and Client Secret

3. Configure

export FRESHBOOKS_CLIENT_ID=your_client_id
export FRESHBOOKS_CLIENT_SECRET=your_client_secret
export FRESHBOOKS_REDIRECT_URI=https://localhost:8555/callback

4. Add to Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "freshbooks": {
      "command": "mcp-freshbooks",
      "env": {
        "FRESHBOOKS_CLIENT_ID": "your_client_id",
        "FRESHBOOKS_CLIENT_SECRET": "your_client_secret",
        "FRESHBOOKS_REDIRECT_URI": "https://localhost:8555/callback"
      }
    }
  }
}

5. Authenticate

Use the freshbooks_authenticate tool on first use. It will give you a URL to open in your browser. After authorizing, tokens are saved to ~/.mcp-freshbooks/tokens.json and auto-refresh.

Usage Examples

List overdue invoices:

Use list_invoices with status "outstanding"

Create and send an invoice:

Create an invoice for client 12345 with a line item for "Web Development" at $1,500, then send it

Check profitability:

Get the profit and loss report for Q1 2026

Track time:

Create a 2-hour time entry for project 789 with note "API integration work"

Architecture

src/mcp_freshbooks/
├── server.py   # MCP server with 25 tool definitions
├── client.py   # FreshBooks API client (httpx async)
└── auth.py     # OAuth2 flow + token persistence

The server uses the MCP Python SDK with FastMCP for clean tool registration. All API calls go through the async client with automatic token refresh.

Requirements

  • Python 3.10+
  • FreshBooks account (free trial works for development)
  • FreshBooks OAuth app credentials

License

MIT

MCP Server · Populars

MCP Server · New

    sjkim1127

    Reversecore_MCP

    A security-first MCP server empowering AI agents to orchestrate Ghidra, Radare2, and YARA for automated reverse engineering.

    Community sjkim1127
    sebringj

    Autonomo MCP

    Tired of 'it works' lies? Autonomo MCP makes your AI prove it—on real hardware, right in your editor.

    Community sebringj
    softerist

    Heuristic MCP Server

    Enhanced MCP server for semantic code search with call-graph proximity, recency ranking, and find-similar-code. Built for AI coding assistants.

    Community softerist
    arm

    Arm MCP Server

    Arm's MCP server

    Community arm
    bobmatnyc

    MCP Vector Search

    CLI-first semantic code search with MCP integration. Modern, fast, and intelligent code search powered by ChromaDB and AST parsing.

    Community bobmatnyc