Skip to main content
Glama
QuickBooks Desktop MCP

QuickBooks Desktop MCP

by Compolaga

qb_query_transactions

Read-only

Query QuickBooks Desktop transactions by type and date range. Retrieve normalized records with date, amount, payee, account, memo, and transaction ID for reconciliation or reporting.

Instructions

Queries transactions of one type (Check, Deposit, CreditCardCharge, CreditCardCredit, Transfer, JournalEntry). date_from/date_to as YYYY-MM-DD. Returns normalized records: date, amount, payee, account (first line), memo, txn_id, edit_sequence.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "txn_type": "<txn_type>"
    },
    "name": "qb_query_transactions"
  }
}

Input Schema

NameRequiredDescriptionDefault
entityNo
accountNo
date_toNo
txn_typeYes
date_fromNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description usefully discloses the normalized return shape (date, amount, payee, account first line, memo, txn_id, edit_sequence), but says nothing about result limits, pagination, or behavior when thousands of rows match a wide date range.

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?

Compact and front-loaded: the core action and type domain come first, then date format, then return shape. The parenthetical type list is the only mild bulk, and it earns its place by defining the required parameter.

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

Completeness3/5

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

An output schema exists, so return values need not be re-explained (though the description duplicates some of them). For a 5-parameter query tool with zero schema documentation, the unexplained entity/account filters and the absence of any volume or ordering behavior leave meaningful gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry all parameter meaning. It documents the YYYY-MM-DD format for date_from/date_to and the txn_type domain, but leaves the entity and account filters completely unexplained (exact-match vs. substring, which name field, how they interact).

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

Purpose4/5

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

States a specific verb and resource (queries transactions) and enumerates the six valid txn_type values, which is real added clarity. It does not distinguish itself from the close sibling qb_find_transactions, so an agent cannot tell the two apart from the description alone.

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

Usage Guidelines2/5

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

The phrase 'of one type' plus the type list implies how to scope a call, but there is no explicit when-to-use guidance and no mention of when to prefer qb_find_transactions, qb_vendor_history, or qb_account_balance instead. Alternative routing is left entirely to inference.

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