Skip to main content
Glama

Caribooks (QuickBooks Online)

List purchases without a payee

list_purchases_without_payee
Read-only

List the purchases (bank and card expenses, including bank-feed lines) that have no payee in QuickBooks, grouped by the merchant their bank text names: OPENAI *CHATGPT SUBSCR and OPENAI *CHATGPT SUBSCR 4411 fall in one group, OPENAI CHATGPT. Each group gives its count, totals per currency, first and last date, up to three raw bank texts, and a suggested vendor when there is one: the vendor most purchases with the same bank text were already given, or a vendor whose name is the text's first words. A bank text already given several vendors (a payment provider paying several payees) suggests none: vendors_before names each with its smallest and largest amount, and purchases lists the group's purchases, to give by ids. Transfers and payments are listed apart under left_out. Several groups are often one vendor (OPENAI CHATGPT, OPENAI SAN; CLAUDE AI, ANTHROPIC CLAUDE). Show the user the groups and the vendor you propose for each before calling give_payee. Read-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoLatest purchase date, YYYY-MM-DD. Defaults to no upper bound.
fromNoEarliest purchase date, YYYY-MM-DD. Defaults to twelve months ago.
companyNoWhich connected QuickBooks company to use (name, realm id, or connection id). Optional when only one company is connected.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnlyHint, destructiveHint=false, openWorldHint=false), and the description additively discloses real behavior: transfers and payments are separated into left_out, purchases are grouped by parsed bank text, and the vendor-suggestion heuristic is spelled out. The trailing 'Read-only' merely restates an annotation, and it omits pagination/limit behavior, but overall it adds meaningful context beyond the annotations.

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?

Dense but front-loaded: the first clause states the resource and filter, then it elaborates grouping and return fields. Given there is no output schema, the volume is largely earned, though it reads as one long run-on paragraph that could be better chunked and it slightly over-explains with example data.

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

Completeness5/5

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

With no output schema, the description fully covers what comes back: per-group count, per-currency totals, first/last dates, up to three raw bank texts, suggested vendor, vendors_before with amount ranges, the purchases list with ids, and left_out. It also names the downstream give_payee action, leaving nothing essential for a correct call.

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%, with from/to/company each documented (default range, date format, single-company optionality). The description adds no parameter-level detail beyond the schema, so the baseline of 3 applies.

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 ('list the purchases ... that have no payee'), and goes further by naming the exact scope (bank-feed lines, no payee) and the grouping model. An agent can tell this apart from generic search_purchases or list_bank_transactions without opening any 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?

Gives clear workflow context: the agent should 'Show the user the groups and the vendor you propose for each before calling give_payee', which pins down when this tool is used and what follows it. It does not explicitly say when NOT to use it or name a competing sibling, but the intended placement in the payee-assignment flow is unambiguous.

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