Skip to main content
Glama
chrischall

freshbooks-mcp

by chrischall

freshbooks_update_invoice

Update an existing FreshBooks invoice with specific field changes. Requires confirmation to execute; without confirmation, it provides a preview instead of making changes.

Instructions

Update an existing invoice. Only the supplied fields are sent. Requires confirm: true to execute; without it returns a dry-run preview and makes no network call. Note that changing an invoice out of draft can email it to the client.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesInvoice id
fieldsYesRaw FreshBooks invoice fields to change, e.g. {"notes": "..."}.
confirmNoMust be true to proceed. Without this, the tool returns a preview.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses key behaviors: only supplied fields are sent (partial update), confirm:true is required for execution, without it returns a dry-run preview and makes no network call, and changing out of draft can email the client. This is excellent behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core purpose. Each sentence adds distinct value: purpose, partial-update and confirm mechanics, and email side-effect warning. No redundant or verbose content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description thoroughly covers operational behavior (partial update, dry-run, email side effect) and usage requirements. It doesn't describe the success return value, but with no output schema and a relatively simple tool, this is a minor gap. Overall, it provides enough context for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already covers 100% of parameters, but the description adds meaning by stating 'Only the supplied fields are sent,' clarifying the partial-update semantics of the 'fields' parameter. It also reinforces the confirm parameter's dry-run behavior, providing value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Update an existing invoice' with a specific verb and resource, clearly distinguishing it from siblings like freshbooks_create_invoice and freshbooks_get_invoice. The 'existing' qualifier unambiguously scopes the tool's purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage for existing invoices and provides critical guidance on the confirm parameter (must be true to execute; otherwise dry-run preview). It also warns about the email side effect when leaving draft. However, it doesn't explicitly name alternatives or state when not to use, so a small deduction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/chrischall/freshbooks-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server