FreshBooks MCP Server
A Model Context Protocol (MCP) server providing complete FreshBooks integration for Claude and other MCP-compatible AI assistants.
Features
Complete SDK Parity - 87 tools covering all major FreshBooks functionality
22 Entity Categories - Full coverage of accounting, invoicing, time tracking, and more
Time Tracking - Log time, manage timers, track billable hours
Invoicing & Billing - Create invoices, manage bills, handle payments
Expense Management - Track expenses, categorize spending, manage vendors
Client & Project Management - Full CRM and project capabilities
Financial Reports - Profit/loss, tax summaries, and more
OAuth2 Authentication - Secure token-based authentication with auto-refresh
Installation
Quick Start
1. Get FreshBooks Credentials
Create a new application
Set redirect URI to:
https://freshbooks.goodsamsoftware.com/callbackNote your Client ID and Client Secret
2. Configure Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
3. Authenticate
Ask Claude:
"Connect me to FreshBooks"
Claude will guide you through OAuth authentication. After authorizing in FreshBooks, you'll see the authorization code on our hosted callback page - just copy it and paste it back to Claude.
4. Start Using
Example prompts:
"Log 2 hours on the Website Redesign project"
"Show me my time entries for this week"
"Start a timer for client meeting"
"Create an invoice for Acme Corp for $1,500"
"What's my profit/loss this month?"
Available Tools (87 total)
Authentication (5 tools)
Tool | Description |
| Check authentication status |
| Get OAuth authorization URL |
| Exchange auth code for tokens |
| Refresh access token |
| Revoke authentication |
Time Tracking (5 tools)
Tool | Description |
| List time entries with filters |
| Get time entry by ID |
| Create time entry |
| Update time entry |
| Delete time entry |
Timer Management (4 tools)
Tool | Description |
| Start a timer |
| Stop timer and log time |
| Get running timer(s) |
| Delete timer without logging |
Invoicing (5 tools)
Tool | Description |
| List invoices |
| Get invoice by ID |
| Create invoice |
| Update invoice |
| Delete invoice |
Clients (5 tools)
Tool | Description |
| List clients |
| Get client by ID |
| Create client |
| Update client |
| Delete client |
Projects (5 tools)
Tool | Description |
| List projects |
| Get project by ID |
| Create project |
| Update project |
| Delete project |
Expenses (5 tools)
Tool | Description |
| List expenses |
| Get expense by ID |
| Create expense |
| Update expense |
| Delete expense |
Bills & Payments (15 tools)
Tool | Description |
| List bills |
| Get bill by ID |
| Create bill |
| Update bill |
| Delete bill |
| List bill payments |
| Get bill payment |
| Create bill payment |
| Update bill payment |
| Delete bill payment |
| List vendors |
| Get vendor by ID |
| Create vendor |
| Update vendor |
| Delete vendor |
Additional Tools
Category | Tools | Description |
Credit Notes | 5 | Create, manage credit notes |
Expense Categories | 3 | Manage expense categories |
Items | 5 | Product/service catalog |
Journal Entries | 5 | Manual accounting entries |
Journal Entry Accounts | 3 | Chart of accounts |
Other Income | 5 | Non-invoice income tracking |
Payments | 5 | Invoice payment tracking |
Payment Options | 2 | Payment gateway settings |
Reports | 3 | Financial reports |
Services | 5 | Billable service types |
Tasks | 5 | Project task management |
User | 1 | Current user info |
Callbacks | 5 | Webhook management |
See complete tool documentation in
Configuration
Environment Variables
Variable | Required | Description |
| Yes | OAuth client ID |
| Yes | OAuth client secret |
| Yes | OAuth redirect URI |
| No | Path for token storage |
| No | Logging level (debug, info, warn, error) |
Getting FreshBooks Credentials
Create a new application
Note your Client ID and Client Secret
Set redirect URI to:
https://freshbooks.goodsamsoftware.com/callback
Advanced: Local HTTPS Setup
If you prefer to use a local callback instead of our hosted callback page, you can set up local HTTPS certificates with mkcert:
Windows (winget):
macOS (Homebrew):
Linux:
Then set your redirect URI to https://localhost:3000/callback in FreshBooks.
The certificates will be valid for 3 years and trusted by your system.
Development
Testing
The project has comprehensive test coverage:
1,571 tests across 93 test files
100% code coverage requirement
Mock factories for all FreshBooks entities
Error scenario coverage
Architecture
Documentation
API Reference - Complete tool documentation
Authentication Setup - OAuth configuration
Claude Guide - Claude-optimized usage examples
Examples - Workflow examples
Error Handling
All errors are normalized to MCP format with helpful context:
License
MIT License - see LICENSE for details.