home / mcp / freshbooks mcp server

FreshBooks MCP Server

Provides a complete MCP integration with FreshBooks, exposing 87 tools for billing, time tracking, clients, projects, and reporting.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "good-samaritan-software-llc-freshbooks-mcp": {
      "command": "npx",
      "args": [
        "freshbooks-mcp"
      ],
      "env": {
        "FRESHBOOKS_CLIENT_ID": "YOUR_CLIENT_ID",
        "FRESHBOOKS_REDIRECT_URI": "https://freshbooks.goodsamsoftware.com/callback",
        "FRESHBOOKS_CLIENT_SECRET": "YOUR_CLIENT_SECRET"
      }
    }
  }
}

FreshBooks MCP Server provides a complete MCP integration that lets Claude and other MCP-compatible assistants access FreshBooks data and actions. It exposes time tracking, invoicing, expenses, client and project management, financial reports, and secure OAuth2 authentication through a local, developer-friendly interface.

How to use

You connect Claude or your MCP client to the FreshBooks MCP Server to perform accounting tasks without leaving your assistant. Start by authenticating with FreshBooks, then perform operations such as logging time, creating invoices, tracking expenses, managing clients and projects, and generating financial reports. Use natural language prompts to drive actions, and leverage the server to fetch current data like time entries, invoices, and bill payments.

How to install

Prerequisites you need before installing:
- Node.js and npm installed on your machine
- A FreshBooks developer account to obtain OAuth credentials
- Access to a text editor and terminal/command prompt
npm install freshbooks-mcp

Configuration and usage notes

Configure your client with the provided MCP server entry to enable local development and OAuth flow.

{
  "mcpServers": {
    "freshbooks": {
      "command": "npx",
      "args": ["freshbooks-mcp"],
      "env": {
        "FRESHBOOKS_CLIENT_ID": "YOUR_CLIENT_ID",
        "FRESHBOOKS_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
        "FRESHBOOKS_REDIRECT_URI": "https://freshbooks.goodsamsoftware.com/callback"
      }
    }
  }
}

Getting FreshBooks credentials and authenticating

Follow these steps to obtain your OAuth credentials and connect the MCP server to FreshBooks.

1) Create a new application in the FreshBooks Developer Portal. 2) Note your Client ID and Client Secret. 3) Set the redirect URI to https://freshbooks.goodsamsoftware.com/callback.

Start using with prompts

Once connected, you can ask the assistant to perform actions such as logging time, starting timers, listing time entries, creating invoices, managing clients or projects, and generating reports. Examples of common prompts include asking for time entry details, starting a timer for a client meeting, creating invoices for a client, or reviewing month-to-date profit and loss.

Security and tokens

Authentication uses OAuth2 with access token refresh. The server securely stores tokens and handles token refresh automatically to keep your sessions active.

Available tools

auth_status

Check authentication status

auth_get_url

Get OAuth authorization URL

auth_exchange_code

Exchange auth code for tokens

auth_refresh

Refresh access token

auth_revoke

Revoke authentication

timeentry_list

List time entries with filters

timeentry_single

Get time entry by ID

timeentry_create

Create time entry

timeentry_update

Update time entry

timeentry_delete

Delete time entry

timer_start

Start a timer

timer_stop

Stop timer and log time

timer_current

Get running timer(s)

timer_discard

Delete timer without logging

invoice_list

List invoices

invoice_single

Get invoice by ID

invoice_create

Create invoice

invoice_update

Update invoice

invoice_delete

Delete invoice

client_list

List clients

client_single

Get client by ID

client_create

Create client

client_update

Update client

client_delete

Delete client

project_list

List projects

project_single

Get project by ID

project_create

Create project

project_update

Update project

project_delete

Delete project

expense_list

List expenses

expense_single

Get expense by ID

expense_create

Create expense

expense_update

Update expense

expense_delete

Delete expense

bill_list

List bills

bill_single

Get bill by ID

bill_create

Create bill

bill_update

Update bill

bill_delete

Delete bill

billpayment_list

List bill payments

billpayment_single

Get bill payment

billpayment_create

Create bill payment

billpayment_update

Update bill payment

billpayment_delete

Delete bill payment

billvendor_list

List vendors

billvendor_single

Get vendor by ID

billvendor_create

Create vendor

billvendor_update

Update vendor

billvendor_delete

Delete vendor

credit_notes_create

Create credit notes

expense_categories

Manage expense categories

items

Product/service catalog

journal_entries

Manual accounting entries

journal_entry_accounts

Chart of accounts

other_income

Non-invoice income tracking

payments

Invoice payment tracking

payment_options

Payment gateway settings

reports

Financial reports

services

Billable service types

tasks

Project task management

user

Current user info

callbacks

Webhook management