Skip to main content

mcp-freshbooks

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

Features

  • 53 tools covering the full FreshBooks accounting workflow
  • Smart workflow tools — convert estimates to invoices, invoice unbilled time, find overdue clients, get full client summaries
  • 5 financial reports — P&L, tax summary, accounts aging, balance sheet, payments collected
  • 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 Count
Auth freshbooks_authenticate, freshbooks_authenticate_with_code, freshbooks_whoami 3
Invoices list_invoices, get_invoice, create_invoice, update_invoice, send_invoice, delete_invoice 6
Recurring list_recurring_invoices, create_recurring_invoice, update_recurring_invoice 3
Clients list_clients, get_client, create_client, update_client, delete_client 5
Estimates list_estimates, get_estimate, create_estimate, update_estimate, send_estimate 5
Expenses list_expenses, get_expense, create_expense, update_expense, delete_expense 5
Payments list_payments, get_payment, create_payment 3
Time Tracking list_time_entries, get_time_entry, create_time_entry, update_time_entry, delete_time_entry 5
Projects list_projects, get_project, create_project, update_project 4
Reports get_profit_loss, get_tax_summary, get_accounts_aging, get_balance_sheet, get_payments_collected 5
Items list_items, create_item 2
Categories list_expense_categories 1
Taxes list_taxes 1
Workflows convert_estimate_to_invoice, get_overdue_invoices, get_unbilled_time, invoice_from_time, client_summary 5

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

Who owes me money?

Use get_overdue_invoices to see all past-due clients and total outstanding

Convert a proposal to an invoice:

Use convert_estimate_to_invoice to turn estimate 456 into a ready-to-send invoice

Find unbilled work:

Use get_unbilled_time to find time entries not yet on any invoice

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 47 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

Metadata

Release files for mcp-freshbooks 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-freshbooks 0.2.0
File Size Uploaded Provenance
mcp_freshbooks-0.2.0.tar.gz 41.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-freshbooks 0.2.0
File Interpreter ABI Platform
mcp_freshbooks-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 58.3 kB

Release files / mcp_freshbooks-0.2.0.tar.gz

Download URL mcp_freshbooks-0.2.0.tar.gz
Size 41.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9c6fbefc9f4ea7bceb1feadbf0a635489800a7fad8ec69d713ca90c5b207720b
BLAKE2b-256 checksum
How to use checksums
9277f6759366ca6e6660aebabff31aefd9d2435be6012374f3cb404a9d2b1802
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / mcp_freshbooks-0.2.0-py3-none-any.whl

Download URL mcp_freshbooks-0.2.0-py3-none-any.whl
Size 16.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
53666079021074e614f13257b90d88d151553fd85f16699f038c85978cf39feb
BLAKE2b-256 checksum
How to use checksums
2bc5551b45eb88819332ecf24da841502fdaefcd582e3345e78c0d18c76a530f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for mcp-freshbooks 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page