Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FRESHBOOKS_CLIENT_ID | Yes | The Client ID of your FreshBooks OAuth app. | |
| FRESHBOOKS_REDIRECT_URI | Yes | The Redirect URI set for your FreshBooks OAuth app (e.g., https://localhost:8555/callback). | |
| FRESHBOOKS_CLIENT_SECRET | Yes | The Client Secret of your FreshBooks OAuth app. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| freshbooks_authenticate | Start FreshBooks OAuth2 authentication. Returns a URL to open in your browser. After authorizing, tokens are saved automatically. |
| freshbooks_authenticate_with_code | Complete authentication with an authorization code (if callback server isn't used). Paste the code from the redirect URL. |
| freshbooks_whoami | Get the current authenticated user's identity, account ID, and business info. |
| list_invoices | List invoices with optional filters. Status: draft, sent, viewed, outstanding, paid. |
| get_invoice | Get full details of a specific invoice including line items. |
| create_invoice | Create a new invoice. Lines format: [{"name": "Service", "description": "...", "qty": 1, "unit_cost": {"amount": "100.00", "code": "USD"}}] |
| update_invoice | Update an invoice. Pass any writable invoice fields as updates dict. |
| send_invoice | Send an invoice by email to the client. |
| delete_invoice | Delete an invoice permanently. |
| list_clients | List clients. Optional search by name or organization. |
| get_client | Get full details of a specific client. |
| create_client | Create a new client. |
| update_client | Update a client. Pass any writable client fields. |
| list_expenses | List expenses with optional client filter. |
| get_expense | Get full details of a specific expense. |
| create_expense | Create a new expense. Amount as string (e.g. '150.00'). Date as YYYY-MM-DD. |
| list_payments | List all payments. |
| create_payment | Record a payment against an invoice. Amount as string. Date as YYYY-MM-DD. Types: Check, Credit, Cash, Bank Transfer, Credit Card, PayPal, ACH, Other. |
| list_time_entries | List time entries. |
| create_time_entry | Create a time entry. started_at as ISO8601 (e.g. '2026-03-20T09:00:00'). Duration in seconds. |
| list_projects | List projects. |
| create_project | Create a project. project_type: hourly_rate or fixed_price. billing_method: business_rate, project_rate, service_rate, team_member_rate. |
| list_estimates | List estimates. |
| create_estimate | Create an estimate. Lines format same as invoices. |
| get_report | Get a financial report. Types: profitloss_entity, taxsummary, payments_collected. Dates as YYYY-MM-DD. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |