Skip to main content
Glama

Compare Standard Books

compare_standard_books
Read-onlyIdempotent

Where two Standard Books documents say different things, compared by what they say rather than by their ids, which two systems need not share: for example a book made from an export and the book a workspace holds after its documents were submitted. An entry is its date and what it does to each account (by label, debit and credit; lines to one account summed, in any order), and entries are compared as a set, so order does not matter; accounts by label and kind; parties by name; registers by account, kind and number; documents by kind, reference and date; and the two trial balances per account as of the later book's last day.

Supply each book by transfer handle or inline (first_handle or first_book, second_handle or second_book). status is same_content or different; same_identity says whether they are the very same book. The counts and the trial balance differences are inline; the handle names every differing entry, account, party, register and document. Nothing is changed and no model runs.

Input Schema

NameRequiredDescriptionDefault
first_bookNoThe first book inline. Exclusive with first_handle.
second_bookNoThe second book inline. Exclusive with second_handle.
first_handleNoTransfer handle naming the first book. Exclusive with first_book.
second_handleNoTransfer handle naming the second book. Exclusive with second_book.
workspace_tagYesActive workspace id (the workspace_tag create_workspace and list_workspaces return). Scopes the call and the handle it returns.

Output Schema

NameRequiredDescriptionDefault
firstYesThe first book: identity, chart_identity, name and its counts.
engineYesStamped engine build/version identity for the tool result.
handleYesMulti-read download:N handle naming every difference: per category onlyInFirst and onlyInSecond, and trialBalance.
secondYesThe second book: identity, chart_identity, name and its counts.
statusYessame_content or different.
retainedYesDownload descriptor for the comparison.
same_identityYesWhether the two are the very same book.
workspace_tagYesWorkspace scoped by the tool call.
difference_countsYesPer category (entries, accounts, parties, registers, documents): only_in_first and only_in_second.
trial_balance_differencesYesAccounts whose net differs: account (label), first, second, difference, in minor units, debit positive.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, closed-world and non-destructive, and the description stays consistent while adding real behavioral context beyond them: 'Nothing is changed and no model runs' signals no side effects and no LLM cost, and it discloses the output split between inline counts/trial-balance diffs and a handle enumerating every differing record. It stops short of noting limits such as book size or performance.

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

Conciseness3/5

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

The purpose is front-loaded and no sentence is pure filler, but the middle is a single long semicolon-chained sentence enumerating matching keys for entries, accounts, parties, registers, documents and trial balances, which is hard to parse. That rule set is genuinely needed, yet it would read far better as a list, and some detail could be trimmed.

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?

For a high-complexity comparison tool with nested object inputs, five parameters and an output schema, the description covers input modes, grouping/matching semantics, order-insensitivity, and the shape of the return (inline counts plus a handle). With annotations carrying the safety profile and the output schema carrying return-value detail, nothing an agent needs to invoke it correctly is missing.

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 both the handle/inline exclusivity pairs and workspace_tag scoping are already documented in structured fields. The description restates the handle-or-inline choice in prose but adds no syntax, format, or constraint details beyond the schema; baseline 3 is appropriate.

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?

The description states a specific verb and resource ('compare two Standard Books documents') and pins the comparison basis precisely: semantic content rather than shared ids. The 'same_identity' vs 'same_content' framing makes the tool's role distinctive among siblings like report_standard_book or invert_standard_book, though no sibling is named directly.

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 explains the selection between the two input modes ('Supply each book by transfer handle or inline (first_handle or first_book, second_handle or second_book)') and gives a concrete motivating case (an export versus a workspace book after submission). It does not state when to prefer this over alternative reporting/inspection tools, so no exclusions are offered.

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