Skip to main content
Glama
AlexlaGuardia

mcp-freshbooks

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FRESHBOOKS_CLIENT_IDYesThe Client ID of your FreshBooks OAuth app.
FRESHBOOKS_REDIRECT_URIYesThe Redirect URI set for your FreshBooks OAuth app (e.g., https://localhost:8555/callback).
FRESHBOOKS_CLIENT_SECRETYesThe Client Secret of your FreshBooks OAuth app.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3/5.0

Scored across 25 tools

Disambiguation5/5

Every tool has a clearly distinct purpose targeting specific resources and actions in the FreshBooks domain. Tools like create_client, get_client, update_client, and list_clients form a coherent set around clients, with no overlap or ambiguity between different resource types (e.g., invoices, expenses, time entries). The descriptions reinforce distinct operations.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, using snake_case uniformly. All CRUD operations use create_, get_, update_, delete_, or list_ prefixes, and domain-specific actions like send_invoice and freshbooks_authenticate maintain clear, predictable naming. No deviations or mixed conventions are present.

Tool Count3/5

With 25 tools, the count is borderline high for a single server, potentially feeling heavy. However, given FreshBooks' broad domain (clients, invoices, expenses, projects, time tracking, authentication, reports), the tools cover many aspects, so it's not extreme but may overwhelm agents with its scope.

Completeness4/5

The tool set provides comprehensive coverage for core FreshBooks workflows, including CRUD operations for clients, invoices, expenses, projects, and time entries, plus authentication, reporting, and actions like sending invoices. Minor gaps exist, such as no update/delete for expenses or projects, but agents can work around these with the available tools.

Maintenance

ActivityInactive
ResponsivenessNo issues