Skip to main content
Glama

Switchbooks

Search and Review Transactions

manage_transactions
Read-onlyIdempotent

Search the active company's transactions, summarize bookkeeping activity, or request categorization suggestions. Filter by account, category, payee, description, amount, transaction reference, date, or state (pending, posted, or all). Use YYYY-MM-DD dates and offset for pagination. To review the whole company, use state=all without filters. Suggestions do not apply changes. Set action to one of: list, review, suggest.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "manage_transactions"
  }
}

Input Schema

NameRequiredDescriptionDefault
byNo
refNo
setNo
dateNo
classNo
itemsNo
linesNo
matchNo
payeeNo
stateNopending = To Review (unposted)
actionNo
amountNo
dryRunNo
offsetNo
accountNo
companyNoCompany for this call only: its ID, exact name, or a unique part of the name. Leave out to use the active company.
confirmNo
endDateNo
categoryNo
candidateNo
directionNo
maxAmountNo
minAmountNo
startDateNo
suggestionNo
descriptionNo
suggestionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / class
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / items / items / properties / class
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / lines / items / properties / class
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / set / properties / class
      Added value: +{
      +  "type": "string"
      +}
  2. First observed

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered structurally. The description usefully adds that suggestions are non-mutating, the date format, and the offset pagination mechanism. But it is silent on the confirm, dryRun, set, items, and lines parameters, which look like they could apply categorization — a significant behavior the agent needs explained.

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-loads the three modes, then the filters, then date/pagination format, then the full-review shortcut, then the action enum. Every sentence carries information and there is no filler. It is slightly packed and the closing enum sentence could have been merged, but structure is sound.

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

Completeness2/5

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

With 27 parameters, nested objects, no output schema, and near-zero schema description coverage, this definition is far from sufficient. An agent reading it cannot know what confirm, dryRun, set, items, lines, candidate, or suggestion do, and there is no guidance on what list/review/suggest return. It describes the read/search surface well but leaves most of the actual input surface opaque.

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 only 7% across 27 parameters, so the description must carry weight. It does document the filter set (account, category, payee, description, amount, reference, date, state), the YYYY-MM-DD date format, the offset pagination, and the action enum values. It leaves the nested set/items/lines structures, match, candidate, suggestion(s), confirm, dryRun, minAmount/maxAmount, direction, and by completely unexplained, so compensation is partial.

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?

Opens with an explicit verb-plus-resource: search the active company's transactions, summarize bookkeeping activity, or request categorization suggestions. The three action modes (list, review, suggest) are named at the end, so an agent can map intent to mode. It does not explicitly say how it differs from siblings like manage_changes or manage_journal_entries, keeping it at 4 rather than 5.

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

Usage Guidelines3/5

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

Gives one concrete usage rule — to review the whole company, use state=all without filters — and states that suggestions do not apply changes. However, it never explains which of list/review/suggest to pick for a given goal, nor when to prefer this over manage_changes or manage_reports. Usage is implied by the action enum rather than spelled out.

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.