mcp-freshbooks
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_authenticateA | Start FreshBooks OAuth2 authentication. Returns a URL to open in your browser. After authorizing, tokens are saved automatically. |
| freshbooks_authenticate_with_codeA | Complete authentication with an authorization code (if callback server isn't used). Paste the code from the redirect URL. |
| freshbooks_whoamiA | Get the current authenticated user's identity, account ID, and business info. |
| list_invoicesC | List invoices with optional filters. Status: draft, sent, viewed, outstanding, paid. |
| get_invoiceB | Get full details of a specific invoice including line items. |
| create_invoiceC | Create a new invoice. Lines format: [{"name": "Service", "description": "...", "qty": 1, "unit_cost": {"amount": "100.00", "code": "USD"}}] |
| update_invoiceC | Update an invoice. Pass any writable invoice fields as updates dict. |
| send_invoiceB | Send an invoice by email to the client. |
| delete_invoiceB | Delete an invoice permanently. |
| list_clientsC | List clients. Optional search by name or organization. |
| get_clientB | Get full details of a specific client. |
| create_clientC | Create a new client. |
| update_clientC | Update a client. Pass any writable client fields. |
| list_expensesB | List expenses with optional client filter. |
| get_expenseB | Get full details of a specific expense. |
| create_expenseC | Create a new expense. Amount as string (e.g. '150.00'). Date as YYYY-MM-DD. |
| list_paymentsC | List all payments. |
| create_paymentC | 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_entriesD | List time entries. |
| create_time_entryC | Create a time entry. started_at as ISO8601 (e.g. '2026-03-20T09:00:00'). Duration in seconds. |
| list_projectsD | List projects. |
| create_projectC | Create a project. project_type: hourly_rate or fixed_price. billing_method: business_rate, project_rate, service_rate, team_member_rate. |
| list_estimatesD | List estimates. |
| create_estimateC | Create an estimate. Lines format same as invoices. |
| get_reportC | 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 | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AlexlaGuardia/MCP-Freshbooks'
If you have feedback or need assistance with the MCP directory API, please join our Discord server