Skip to main content
Glama

Caribooks (QuickBooks Online)

Save the payout setup

save_payout_setup

Save the payout setup the user chose, by QuickBooks ids from get_payout_setup. It is checked first (the holding account must be a Bank account, each tax code must charge the platform's rates, the start date cannot be inside closed books) and waits for the user to confirm it on the Caribooks Payouts page; nothing is booked before that.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYeseach_sale or payout_summary, as the user chose.
itemsYesStripe product id → QuickBooks item id.
companyNoThe connected QuickBooks company (name, realm id, or connection id). Optional when only one company is connected.
customersNoStripe customer id → QuickBooks customer id, for customers email and name do not match.
tax_codesYesStripe tax combination key (from get_payout_setup) → QuickBooks tax code id.
vendor_idYesThe vendor on fee expenses, usually Stripe.
start_dateYesThe first day booked, YYYY-MM-DD.
fee_account_idYesThe expense account for Stripe's fees.
bank_account_idYesThe bank account Stripe pays out to.
default_item_idNoThe item for a sale with no Stripe invoice to read products from.
fee_tax_code_idYesThe purchase tax code for Stripe's own fees that Stripe charges sales tax on, so it is claimed back; null to book them whole.
exempt_tax_code_idYesThe tax code for card processing fees, which carry no sales tax (e.g. Exempt); null when the company has no sales tax.
holding_account_idYesThe Bank account that stands for the Stripe balance.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

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

With annotations only declaring readOnlyHint=false, destructiveHint=false and openWorldHint=true, the description adds real behavioral substance: the three validation rules (holding account must be a Bank account, tax codes must match the platform's rates, start date cannot fall inside closed books) and the fact that nothing is booked until user confirmation. It stops short of saying what happens after confirmation or whether the call is idempotent.

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

Conciseness4/5

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

Front-loaded with the action and the source of the ids, with the validation and confirmation details following in a parenthetical. It is a single dense sentence, but every clause carries information; only the ordering of the validation list feels slightly bolted on.

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?

For a 13-parameter, nested-object mutation with no output schema, the description covers purpose, source of inputs, preconditions, and the fact that a confirmation gate precedes any booking. It leaves the post-confirmation outcome and return behavior unstated, but the annotations carry the safety profile and the schema carries the parameter detail.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all 13 parameters, and the baseline is 3. The description reinforces a couple of constraints (holding account type, start date vs closed books) but adds no format or mapping detail beyond what the schema's per-parameter descriptions already provide.

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?

States a specific verb and resource ("Save the payout setup"), scopes it to what "the user chose," and explicitly ties the QuickBooks ids to get_payout_setup, distinguishing it from that sibling and from get_payout_status. An agent can tell what this does without opening the schema.

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?

Clear workflow context: the ids come from get_payout_setup, the setup is validated first, and it then waits for the user to confirm on the Caribooks Payouts page. It does not name an alternative tool or a when-not condition, but the prerequisites are explicit and actionable.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources