Skip to main content
Glama

HelloBooks AI Agents MCP Server

Server Details

AI agents for bookkeeping, reconciliation, and financial close for SMBs.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
Meru-Fin-Tech/HelloBooks-MCP-Public
GitHub Stars
1
Server Listing
HelloBooks AI MCP Server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 29 of 29 tools scored. Lowest: 3.1/5.

Server CoherenceA
Disambiguation4/5

Tools are largely distinct, each targeting a specific report type (balance sheet, P&L, trial balance) or functionality. Some overlap exists between QBO and Xero variants, but descriptions clearly differentiate them. Overall, an agent can reliably select the right tool.

Naming Consistency4/5

Most tools follow a consistent snake_case verb_noun pattern (e.g., analyze_balance_sheet, list_articles). A few exceptions like free_tier_eligibility and how_munimji_helps break the pattern but are still readable and predictable.

Tool Count3/5

With 29 tools, the count is on the higher side but justified by the domain's breadth (financial analysis, compliance, migration, pricing, etc.). Some reduction through parameterization (e.g., merging QBO/Xero variants) would improve scope.

Completeness4/5

The tool surface covers key areas: financial statement analysis, compliance, migration estimation, feature/pricing info, and partner programs. Missing are direct data manipulation tools (e.g., create/edit journal entries), which may be intentional for a read-only analysis agent.

Available Tools

29 tools
analyze_balance_sheetAInspect

Take a Balance Sheet CSV export from QuickBooks Online, Xero, Zoho Books, or Wave (source auto-detected) and run three checks: (1) bs.equation_broken — the fundamental accounting equation Assets = Liabilities + Equity does not hold (every downstream ratio analysis is invalid until fixed); (2) bs.negative_asset — Cash / AR / Inventory line items with negative balances (reconciliation error signal); (3) bs.negative_equity — Total Equity < 0 (insolvency signal). Input is raw CSV text of a Balance Sheet (Reports → Balance Sheet in QBO / Xero / Zoho / Wave). Max 5,000 rows; max 5 MB. Returns flags with severity, totals (totalAssets, totalLiabilities, totalEquity, equationBalances boolean), and a shareable URL. Use this when a user pastes a Balance Sheet and asks "does my balance sheet balance?", "is the accounting equation satisfied?", or "is my company solvent on paper?". A Balance Sheet that fails Assets = Liabilities + Equity invalidates every downstream financial-ratio analysis — this is the single most important check for any BS.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvTextYesRaw CSV text of a Balance Sheet report. Works with QuickBooks Online (Reports → Balance Sheet), Xero (Reports → Balance Sheet), Zoho Books (Reports → Balance Sheet), and Wave (Reports → Balance Sheet). Statement should include Total Assets, Total Liabilities, and Total Equity rows. Source is auto-detected from section name signatures.
fileNameNoOptional filename for the share-page label.
Behavior4/5

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

With no annotations, the description carries the full burden. It details the three checks performed, the input limits (5k rows, 5 MB), and the output (flags, totals, equationBalances boolean, shareable URL). It does not mention non-destructive nature or auth needs, but behavior is well explained.

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

Conciseness5/5

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

The description is front-loaded with the core purpose and checks. Every sentence adds value: input format, limits, output, usage guidance. There is no redundant or irrelevant information, making it efficient and clear.

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?

Given two parameters and no output schema, the description covers input requirements, processing logic, and output summary well. It provides interpretation of results and usage context. Minor gap: no detailed output structure, but sufficient for an agent to use the tool.

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

Parameters4/5

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

Schema coverage is 100% with parameter descriptions. The description adds valuable context about supported sources (QuickBooks, Xero, Zoho, Wave) and auto-detection, and explains the role of the optional fileName. This goes beyond the schema, earning a score above baseline 3.

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?

The description clearly states the tool takes a Balance Sheet CSV from specific sources and runs three well-defined checks. It specifies the verb 'analyze' and the resource 'balance sheet', and distinguishes from siblings by emphasizing this is the fundamental check before ratio analysis.

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?

The description gives explicit usage scenarios: 'when a user pastes a Balance Sheet and asks [specific questions]'. It explains why the tool is important and mentions limits. It does not explicitly say when not to use it or name alternatives, but the context is clear.

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

analyze_journal_varianceAInspect

Compare two periods of journal-entry data (QBO or Xero — source auto-detected from headers) and flag accounts whose movement deviates materially between periods. Aggregates lines per account into a net total for each period, then surfaces accounts where the period-over-period change crosses a materiality threshold (≥5% relative AND ≥$100 absolute; severity high at ≥50%, medium at ≥20%, low at ≥5%). Inputs are two CSV exports — periodACsv (earlier period) and periodBCsv (later period). Optional periodALabel / periodBLabel for human-readable flag messages (e.g. "Q1 FY2024" vs "Q2 FY2024"). Max 5,000 rows per period; max 5 MB each. Use this when a user pastes two periods and asks "what changed?", "show me variances", "what jumped period-over-period". Returns a flag list ordered by largest delta, a roll-up, and a shareable URL. Both periods must be the same source — mixing QBO + Xero in one call returns an error.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodACsvYesRaw CSV text of the EARLIER period's journal-entry export (QBO Journal Entries or Xero Manual Journals). Source is auto-detected from the headers.
periodBCsvYesRaw CSV text of the LATER period's journal-entry export. Source is auto-detected from the headers (must match periodACsv).
periodALabelNoOptional human label for the earlier period — e.g. "Q1 FY2024". Used in flag messages.
periodBLabelNoOptional human label for the later period — e.g. "Q2 FY2024".
Behavior5/5

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

With no annotations, the description fully discloses behavior: auto-detection of source, aggregation per account, materiality thresholds (≥5% relative AND ≥$100 absolute), severity levels (high, medium, low), max limits (5,000 rows, 5 MB per period), and error conditions. It also describes the output (flag list, roll-up, shareable URL).

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?

The description is comprehensive but slightly long. It front-loads the core purpose and then details. Each sentence is informative, but some redundancy exists (e.g., repeating threshold details). Overall, it is well-structured and earns its length, but could be marginally tighter.

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?

Given the complexity (two CSV inputs, auto-detection, threshold logic) and no output schema, the description covers inputs, limits, error conditions, and output ('flag list ordered by largest delta, a roll-up, and a shareable URL'). It also mentions severity levels. An agent has enough context to invoke or avoid this tool.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for each parameter. The tool description adds context beyond schema: it clarifies that periodACsv is earlier period, periodBCsv later, and explains optional labels for human readability. It also ties parameters to the overall logic (e.g., source auto-detection). This adds meaningful value.

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?

The description clearly states the tool compares two periods of journal-entry data and flags accounts with material variance. It specifies auto-detection of source (QBO or Xero) and defines thresholds. It distinguishes from sibling tools like analyze_balance_sheet or analyze_profit_loss by focusing on journal variance.

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

Usage Guidelines5/5

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

The description explicitly tells when to use: 'when a user pastes two periods and asks "what changed?", "show me variances", etc.' It also sets constraints: both periods must be same source, mixing returns error, and provides max rows/sizes. No alternative tools are named, but the context is clear.

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

analyze_profit_lossAInspect

Take a Profit & Loss / Income Statement CSV export from QuickBooks Online, Xero, Zoho Books, or Wave (source auto-detected from section names) and run three checks: (1) pnl.subtotal_mismatch — each "Total Section" subtotal equals the sum of its preceding line items (catches missing or duplicated rows); (2) pnl.negative_expense — flags expense-section line items with negative amounts (usually sign-flips or refunds posted to the wrong side); (3) pnl.margin_red_flag — gross-profit margin < 5% or > 95%, or negative total revenue. Input is raw CSV text of a P&L report (Reports → Profit and Loss in QBO / Xero / Zoho / Wave). Max 5,000 rows; max 5 MB. Returns flags with severity, a summary with totalRevenue / totalCogs / grossProfit / grossMarginPct / netIncome (when detected), and a shareable URL at agents.hellobooks.ai/r/{slug}. Use this when a user pastes a P&L and asks "does my P&L look right?", "any sign errors?", "what is my gross margin?", or "anything suspicious in my income statement?". For period-over-period comparison use analyze_journal_variance with two periods of journal-entry data; this tool is single-period only.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvTextYesRaw CSV text of a Profit & Loss / Income Statement report. Works with QuickBooks Online (Reports → Profit and Loss), Xero (Reports → Profit and Loss), Zoho Books (Reports → Profit & Loss), and Wave (Reports → Profit & Loss). Source is auto-detected from section names. Statement should include section headers, line items, "Total X" subtotals, and a Net Income / Net Profit row at the bottom.
fileNameNoOptional filename for the share-page label.
Behavior5/5

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

No annotations exist, so the description fully discloses behavior: three checks (subtotal mismatch, negative expense, margin red flag), input constraints (5,000 rows, 5 MB), auto-detection of source, and output details (flags, summary with financial metrics, shareable URL). This is comprehensive for a complex tool.

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?

The description is a single paragraph but well-organized: starts with the core action and checks, then input/output details, then usage guidance. It is efficient, though slightly long; every sentence contributes value.

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?

Given the tool's complexity (multiple checks, multiple accounting sources, no output schema), the description covers all essential context: input format, limits, checks, output structure, and use cases. No gaps.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds meaning beyond the schema: it explains the expected CSV structure (section headers, 'Total X' subtotals, Net Income row) and that fileName is optional and for labeling. This helps the agent understand the parameter constraints better.

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?

Description clearly states the tool analyzes P&L CSV from specific accounting software and runs three distinct checks. The verb 'analyze' plus the resource 'Profit & Loss/Income Statement CSV' is specific and distinguishes from sibling tools like analyze_balance_sheet or analyze_journal_variance.

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

Usage Guidelines5/5

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

Explicitly provides when-to-use examples ('does my P&L look right?', 'any sign errors?') and contrasts with a sibling tool ('For period-over-period comparison use analyze_journal_variance'). This helps the AI agent decide when to invoke this tool vs alternatives.

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

analyze_qbo_journal_anomaliesAInspect

Scan a QuickBooks Online "Journal Entries" CSV export for anomalies — currently round-number lines (debit or credit amounts that are exact multiples of $1,000, above a $1,000 materiality threshold). Round numbers are statistically rare in real bookkeeping and frequently indicate estimates, plugs, or fraud signals worth review. Input is raw CSV text from QBO Reports → Accountant → Journal. Max 5,000 rows; max 5 MB. Returns flagged lines with severity ($100K+ high, $10K+ medium, else low) and a shareable URL. Use this when a user pastes QBO data and asks "any anomalies?", "look for round numbers", or "anything suspicious". Tier-0 subset — HelloBooks Phase 3.0 anomaly detection in the paid product additionally catches GL outliers vs entity history, vendor-history mismatches, archived-vendor activity, and AI-narrated suspicious lines (which require the live HelloBooks account).

ParametersJSON Schema
NameRequiredDescriptionDefault
csvTextYesRaw CSV text of a QuickBooks Online "Journal Entries" report. Export from QBO: Reports → Accountant → Journal → Export as CSV. Paste the file contents directly.
fileNameNoOptional original filename, used only as a label on the share page.
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the tool is read-only (scan/returns), lists constraints (5000 rows, 5 MB), and explains output format. It does not explicitly state no data modification, but the context implies it.

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?

The description is a single paragraph of about 7 sentences, front-loading the main purpose. It is efficient with no wasted words, though a bulleted structure could improve scanability.

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?

The description covers all essential aspects: input format, constraints, anomaly detection logic (round numbers, thresholds), severity levels, output (shareable URL), and relationship to paid features. No output schema is present, but the description adequately explains return values.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by providing detailed context for csvText (e.g., export instructions) and clarifying fileName's role as a label on the share page, going beyond the schema.

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?

The description clearly states the tool scans QBO Journal Entries CSV for round-number anomalies, specifying input format (CSV text), constraints (max rows/size), and output (flagged lines with severity and shareable URL). It differentiates from siblings by naming the Tier-0 subset and mentioning other capabilities in the paid product.

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?

The description gives explicit usage guidance: 'Use this when a user pastes QBO data and asks "any anomalies?", "look for round numbers", or "anything suspicious".' It also clarifies this is a free subset, but does not explicitly discourage use for other anomaly types or mention alternatives among siblings.

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

analyze_qbo_journal_cleanupAInspect

Scan a QuickBooks Online "Journal Entries" CSV export for cleanup issues — unbalanced journals (debits ≠ credits, with severity by deviation), duplicate journals (same date + same totals, likely posted twice), and schema problems (invalid dates, malformed amounts, missing accounts, missing journal numbers). Input is the raw CSV content the user pastes after exporting from QBO via Reports → Accountant → Journal → Export. Max 5,000 rows; max 5 MB. Returns a structured flag list with severity (high/medium/low), a roll-up summary by category and severity, parse diagnostics (column mapping + unmapped columns), and a shareable URL at agents.hellobooks.ai/r/{slug} (7-day TTL) that renders a branded analysis page suitable for sending to a CA or bookkeeper. Use this when a user pastes QBO journal data, asks "check my books", "find issues in my QBO journal", or "what is wrong with my journal entries". Each flag includes a fixableInHellobooks boolean — true means HelloBooks can resolve it automatically in the paid product.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvTextYesRaw CSV text of a QuickBooks Online "Journal Entries" report. Export from QBO: Reports → Accountant → Journal → Export as CSV. Paste the file contents directly.
fileNameNoOptional original filename, used only as a label on the share page.
Behavior5/5

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

With no annotations provided, the description fully discloses behavior: it performs read-only analysis, enforces limits (5k rows, 5MB), returns a shareable URL with TTL, and flags fixable items. No contradictions, and it adds context beyond the function name.

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

Conciseness5/5

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

The description is about 120 words, front-loaded with purpose, structured with bullet points for output components, and every sentence adds non-redundant information. The input repetition is minimal and justified.

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?

The description covers all major aspects: input format, limits, three analysis types, output structure (flags, summary, diagnostics, share URL), fixability indicator, and intended usage. No output schema exists, but the description compensates thoroughly.

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

Parameters4/5

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

Schema coverage is 100% with both parameters documented, so baseline is 3. The description adds value by guiding the user on how to obtain the CSV (export path) and explains that fileName is just a label, making it a 4.

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?

The description clearly identifies the tool as a scanner for QBO Journal CSV exports, listing three specific issue categories (unbalanced, duplicates, schema problems) and distinguishing it from siblings like analyze_qbo_journal_anomalies by naming the platform and the exact export source.

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?

The description states explicit triggers ('check my books', 'find issues') and provides the required input format. However, it does not explicitly advise against use in other scenarios or compare to alternative tools like analyze_qbo_journal_anomalies.

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

analyze_trial_balanceAInspect

Take a Trial Balance CSV export from QuickBooks Online, Xero, Zoho Books, or Wave (source auto-detected from headers — YTD columns indicate Xero, Opening Balance indicates Zoho, etc.) and run three checks: (1) tb.unbalanced — debits ≠ credits (every downstream P&L / BS / cash-flow report built from this TB is wrong until fixed); (2) tb.wrong_sign — accounts whose name suggests a class (Revenue / COGS / Expense / AR / AP) carrying a balance on the wrong side (classic posting-error signal); (3) tb.round_balance — exact-multiple-of-$10,000 balances (plug-entry signal). Input is raw CSV text of a Trial Balance report. Max 5,000 rows; max 5 MB. Returns flagged accounts with severity, a roll-up showing whether the TB balances, parse diagnostics, and a shareable URL at agents.hellobooks.ai/r/{slug}. Use this when a user pastes a Trial Balance and asks "does my TB balance?", "are there sign errors?", "what looks suspicious?", or "is this TB clean?". The Trial Balance is the foundation document for every other financial statement — if it does not balance, every downstream report is invalid.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvTextYesRaw CSV text of a Trial Balance report. Works with QuickBooks Online (Reports → Trial Balance), Xero (Reports → Trial Balance), Zoho Books (Reports → Accountant → Trial Balance), and Wave (Reports → Trial Balance). Source is auto-detected from column headers.
fileNameNoOptional filename for the share-page label.
Behavior5/5

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

With no annotations, the description fully covers behavioral traits: it auto-detects source, runs three distinct checks, has row and size limits (5,000 rows, 5 MB), and returns specific outputs (flagged accounts, severity, roll-up, diagnostics, shareable URL). No contradictions.

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?

The description is somewhat lengthy but well-organized: it begins with the core action, lists checks, input requirements, outputs, and usage scenarios. Each sentence adds value, and it is front-loaded for clarity.

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?

Given no output schema, the description sufficiently explains return values (flagged accounts, roll-up, diagnostics, URL). It covers all key aspects of the tool's functionality, including limits and the importance of the trial balance for downstream reports.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds valuable context by detailing supported sources, auto-detection from headers, and the purpose of the optional filename. This goes beyond the schema's property descriptions.

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?

The description explicitly states the tool takes a Trial Balance CSV and runs three specific checks (unbalanced, wrong sign, round balance). It distinguishes from sibling tools like analyze_balance_sheet and analyze_profit_loss by focusing solely on the trial balance, which is foundational for other reports.

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?

The description provides clear use cases (e.g., 'does my TB balance?', 'are there sign errors?') and explains that the trial balance is the foundation for downstream reports. While it doesn't explicitly list when not to use, the context implicitly directs users to this tool when dealing with trial balance data.

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

analyze_xero_journal_anomaliesAInspect

Scan a Xero "Manual Journals" CSV export for anomalies — currently round-number lines (debit or credit amounts that are exact multiples of $1,000, above a $1,000 materiality threshold). Input is raw CSV text from Xero Accounting → Advanced → Manual Journals → Export. Max 5,000 rows; max 5 MB. Returns flagged lines with severity ($100K+ high, $10K+ medium, else low) and a shareable URL. Use this when a user pastes Xero data and asks "any anomalies?", "look for round numbers", or "anything suspicious". Same Tier-0 / paid-product split as the QBO variant — history-aware anomaly checks (GL outliers, vendor history, archived-vendor activity, LLM-narrated suspicious) live in the authenticated MCP / paid product.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvTextYesRaw CSV text of a Xero "Manual Journals" report. Export from Xero: Accounting → Advanced → Manual Journals → Export. Paste the file contents directly.
fileNameNoOptional original filename, used only as a label on the share page.
Behavior5/5

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

No annotations provided, but the description fully discloses behavior: anomaly detection rules (round-number lines, $1k threshold), input limits (5k rows, 5MB), output format (flagged lines with severity and shareable URL), and separation from advanced checks. No contradictions.

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?

The description is somewhat long but front-loads the main purpose and is logically organized. Every sentence adds useful information; slight trimming could improve conciseness without losing meaning.

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?

Given the moderate complexity and absence of an output schema, the description covers input requirements, processing limits, detection criteria, severity levels, output format, and use-case triggers. No gaps remain.

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

Parameters4/5

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

Description adds value beyond the input schema by noting the specific Xero export path, max row/size limits, and that fileName is used as a label on the share page. Schema coverage is 100%, so baseline is 3; the extra context earns a 4.

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?

The description clearly states the action: 'Scan a Xero Manual Journals CSV export for anomalies' and specifies the resource. It distinguishes from sibling tools by mentioning the QBO variant and the paid product split.

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?

Explicit triggers are given ('any anomalies?', 'look for round numbers', 'anything suspicious') and context about paid product for advanced checks. However, it does not directly mention when not to use it or list alternative tools for specific needs.

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

analyze_xero_journal_cleanupAInspect

Scan a Xero "Manual Journals" CSV export for cleanup issues — unbalanced journals, duplicate journals (same date + same totals), and schema problems (invalid dates, malformed amounts, missing account code/name, missing group key). Input is the raw CSV content the user pastes after exporting from Xero via Accounting → Advanced → Manual Journals → Export. Xero-specific idioms handled: signed Amount column (positive = credit, negative = debit), explicit Debit/Credit fallback shape, Reference-or-Narration+Date grouping, account code preferred over name. Max 5,000 rows; max 5 MB. Returns structured flags with severity, a roll-up summary, parse diagnostics, and a shareable URL at agents.hellobooks.ai/r/{slug}. Use this when a user pastes Xero manual-journal data, asks "check my Xero books", or "find issues in my Xero journal". The funnel CTA routes to /migrate/from-xero for users who want to fix at scale.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvTextYesRaw CSV text of a Xero "Manual Journals" report. Export from Xero: Accounting → Advanced → Manual Journals → Export. Paste the file contents directly.
fileNameNoOptional original filename, used only as a label on the share page.
Behavior4/5

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

With no annotations, the description provides detailed behavior: what it checks (unbalanced, duplicates, schema), Xero-specific idioms handled, and output types (flags, summary, diagnostics, shareable URL). It lacks explicit mention that it is read-only, but 'scan' implies no modification.

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 description is somewhat long with details on Xero idioms and output, which may be redundant. It is front-loaded with the purpose, but could be more concise by removing some internal implementation details.

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?

Given the complexity (multiple issue types, CSV parsing, shareable URL) and lack of output schema, the description fully explains input format, constraints, output structure, and use case. It leaves no critical gaps.

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

Parameters4/5

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

Schema coverage is 100%, and the description adds meaning: it clarifies csvText is raw CSV with export path, and fileName is an optional label. This adds value beyond the schema's brief descriptions.

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?

The description clearly states the tool scans Xero Manual Journals CSV for unbalanced journals, duplicates, and schema problems. It specifies the input and types of issues, distinguishing it from sibling tools like analyze_xero_journal_anomalies.

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?

The description explicitly says when to use (user pastes data or asks to check Xero books) and includes constraints (max 5,000 rows, 5 MB). However, it does not compare to similar sibling tools like analyze_xero_journal_anomalies, which could cause confusion.

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

compare_books_to_hellobooksAInspect

Take a QBO or Xero journal-entry CSV (source auto-detected), run the full Tier-0 detection set (imbalance + duplicates + round-number + schema), and return a structured side-by-side comparison — "your books have X issues; here is how HelloBooks resolves each phase". This is the direct funnel tool: the response includes per-category counts mapped to HelloBooks Phases 1, 2, 3.0, 3.1, with exclusive-advantage bullets (command-center dashboard, conversational interface, one-prompt JE posting, cross-phase orchestration, auto ID resolution). Use this when a user is evaluating HelloBooks vs their current QBO/Xero, asks "should I migrate?", or pastes data while comparing accounting software. Output is suitable for the host LLM to narrate as a positioning argument; the share URL points at a branded landing page with the issue breakdown and a 1-click migrate CTA.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvTextYesRaw CSV text of a journal-entry export from QBO ("Journal Entries") or Xero ("Manual Journals"). Source is auto-detected from the headers.
fileNameNoOptional filename label.
Behavior4/5

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

With no annotations provided, the description fully discloses behavior: source auto-detection, Tier-0 detection set (imbalance, duplicates, round-number, schema), structured side-by-side comparison with per-category counts mapped to HelloBooks phases, exclusive advantage bullets, and a share URL to a landing page. No contradictions.

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 description is somewhat verbose at 5-6 sentences, but it is front-loaded with the core function and every sentence contributes meaningful detail (e.g., detection set, phase mapping, output usage, share URL). Minor redundancy could be trimmed, but overall efficient for the complexity.

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?

Given no output schema, the description adequately explains the return structure: comparison with issue counts per phase, exclusive advantage bullets, and a share URL. It notes the output is suitable for narration, which covers the lack of formal output schema. Slight ambiguity on output format (text vs structured) but sufficient.

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

Parameters4/5

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

Schema coverage is 100% for both parameters (csvText and fileName). The description adds value by stating that the source (QBO or Xero) is auto-detected from headers, which clarifies the expected CSV format without repeating schema details.

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?

The description explicitly states the tool's purpose: takes a QBO/Xero CSV, runs Tier-0 detection, and returns a side-by-side comparison with HelloBooks phases. It identifies itself as 'the direct funnel tool', clearly distinguishing it from sibling analysis tools like analyze_qbo_journal_anomalies or analyze_xero_journal_anomalies.

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?

The description provides clear use cases: when evaluating HelloBooks vs QBO/Xero, when asking 'should I migrate?', or when comparing accounting software. It also notes the output is suitable for narration as a positioning argument. Although it doesn't explicitly state when not to use, the context is well-defined.

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

compliance_capabilitiesAInspect

Return supported compliance frameworks for a country (BAS, STP, GST, MTD, 1099, etc.) with version and certification info.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesRequired ISO country code.
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool returns frameworks with version and certification info, implying a read-only query. However, it could explicitly state that it is safe and idempotent.

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

Conciseness5/5

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

The description is a single sentence with no unnecessary words. It starts with the verb 'Return' and immediately conveys the tool's purpose. Every part is informative and efficient.

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?

Given the tool has only one parameter and no output schema, the description provides enough context by specifying what is returned (frameworks with version and certification info). It could be improved by detailing the response format or listing all possible framework values, but it is sufficient for a simple lookup tool.

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

Parameters4/5

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

Schema coverage is 100%, providing the parameter description as 'Required ISO country code' with enum values. The description adds value by explaining that the country parameter is used to return specific frameworks, which goes beyond the schema's structural definition.

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?

The description clearly states the tool returns supported compliance frameworks for a country, listing examples (BAS, STP, GST, etc.) and mentions version and certification info. It distinguishes from siblings like compliance_deadlines by focusing on listing available frameworks rather than deadlines.

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?

The description implies usage when needing to retrieve compliance frameworks for a specific country, but does not explicitly state when to use this tool over alternatives like compliance_deadlines or country_support. No exclusion criteria or context for when not to use it.

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

compliance_deadlinesAInspect

When statutory returns and payroll filings are due, per country. Covers IN (GSTR-1/3B/9/9C, CMP-08, Form 24Q, Form 16, PF ECR, ESI), AU (BAS, STP, Super Guarantee), GB (VAT MTD, RTI, Self Assessment), US (1099-NEC/MISC, W-2, Form 941/940), CA (T4, GST/HST). Optional country, frequency, and form filters. Note: dates rotate annually — every response carries a disclaimer with the per-deadline source URL for authority confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
formNoSubstring match against form name, e.g. "GSTR-3B", "BAS", "1099", "T4". Case-insensitive.
countryNoISO country code. Filters to one country (IN, AU, GB, US, CA covered today).
frequencyNoFiling cadence. Useful for "what are my monthly returns" style queries.
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that dates rotate annually and that each response includes a disclaimer with a source URL for authority confirmation. This is good transparency about the dynamic nature of the data.

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

Conciseness5/5

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

The description is concise, covering purpose, coverage, filters, and a key behavioral note in four sentences. It is front-loaded and every sentence adds value.

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?

Given the tool has three optional parameters and no output schema, the description is largely complete. It covers purpose, parameters, and a behavioral note. It could be improved by briefly describing the output format (e.g., list of deadlines with dates and source URLs).

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%; each parameter is well-described in the schema. The description adds minimal extra meaning beyond listing example forms and stating filters are optional. Baseline score of 3 is appropriate.

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?

The description clearly states the tool lists deadlines for statutory returns and payroll filings per country, covering specific forms for IN, AU, GB, US, CA. This distinguishes it from sibling tools like 'lookup_tax_rate' or 'compliance_capabilities'.

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?

The description explains optional filters but does not explicitly state when to use this tool versus alternatives. The purpose is clear enough for an AI to infer, but lacks direct guidance on exclusions or when not to use.

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

country_supportAInspect

Return features available per supported country (AU, IN, UK, US, CA, AE, SG, NZ).

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoSingle ISO country code. Omit for the full matrix.
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It indicates a read operation ('Return') with no side effects. However, it lacks details on authentication, data freshness, or completeness, though the simplicity of the tool partially mitigates this.

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?

The description is a single efficient sentence that includes the list of countries. It is concise and front-loaded. However, a slightly structured format (e.g., bullet points) could improve readability for agents.

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?

The tool has one optional parameter and no output schema. The description adequately covers the input semantics but omits details about the return format or error conditions (e.g., invalid country). Given the simplicity, it is minimally sufficient but could be more complete.

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?

The input schema has 100% coverage, so the baseline is 3, but the description introduces a discrepancy: it lists 'UK' as a supported country while the schema uses 'GB' (ISO code for United Kingdom). Additionally, it states 'Omit for the full matrix' without explaining what 'full matrix' means. This reduces clarity and may mislead agents.

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?

The description clearly states 'Return features available per supported country', specifying the verb and resource, and lists the supported countries in parentheses. This distinguishes it from sibling tools like 'list_features' which likely returns all features without country filtering.

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?

The description implies usage for retrieving per-country feature availability but does not explicitly state when to use this tool versus alternatives. No 'when not to use' or comparison with siblings is provided, though the context suggests it's a lookup tool distinct from analytical tools.

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

estimate_migration_effortAInspect

Take a QBO or Xero journal-entry CSV (source auto-detected) and return a structured migration-effort estimate — row counts, unique-account count, period span, complexity classification (low / medium / high), human-hours estimate, assisted-hours estimate, and an indicative price quote in USD. Heuristic-based — refined against the live entity once the user signs up. Accepts larger files than the other analytical tools (up to 50,000 rows / 20 MB) because no detection runs here, just sizing. Use this when a user is weighing the cost of moving books to HelloBooks, pastes data and asks "how long will migration take?", "what would this cost?", or "is it worth migrating?". The funnel CTA points at /migrate/?ref= to start the assisted flow with the parsed sizing pre-populated.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvTextYesRaw CSV text of a journal-entry export from QBO ("Journal Entries") or Xero ("Manual Journals"). Source is auto-detected from headers.
fileNameNo
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses heuristic-based nature, refinement after sign-up, file size limits (50k rows/20 MB), and funnel CTA. No destructive side effects mentioned, but adequate for a sizing tool.

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?

Somewhat long but every sentence adds value: outputs, behavior, usage, limits. Front-loaded with purpose and results. No waste.

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?

Given no output schema, description fully details return fields. Parameter info is sufficient. No missing critical context for a migration estimation tool.

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

Parameters4/5

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

Schema coverage is 50%. Description adds meaning for csvText: source auto-detected, up to 50k rows/20 MB (schema only gives maxLength). For fileName, no extra detail, but overall improves understanding beyond schema.

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?

Description clearly states the tool takes a QBO or Xero journal-entry CSV and returns a structured migration-effort estimate with specific outputs (row counts, account count, complexity, hours, price). It distinguishes from siblings by noting it accepts larger files because no detection runs, just sizing.

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?

Explicit usage context: when user is weighing migration cost, pastes data, or asks specific questions. Highlights comparison with other analytical tools (larger files). Does not explicitly state when NOT to use, but the intent is clear.

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

free_tier_eligibilityAInspect

Return the HelloBooks Free-plan annual-invoice-turnover thresholds for the 8 supported countries (IN ₹40 lakh / US $100K / GB £90K / AU A$75K / CA C$30K / NZ NZ$60K / SG S$500K / AE AED 187.5K). Free is unlimited features and unlimited AI credits subject to the monthly allowance, but per-entity invoice turnover above the country cap forces an upgrade to Pro or Business. Call with no args to get the full table, with country for one threshold, or with country AND annualInvoiceRevenue (in the country currency, NOT USD-equivalent) for a freeEligible verdict with headroom math. Bank-feed total, cash receipts, and gross transaction volume are explicitly NOT used.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoISO country code of the entity. Omit to return the full 8-country threshold table.
annualInvoiceRevenueNoAnnual invoice turnover for the entity, in its home currency (NOT USD-equivalent). Only used when `country` is also provided — the tool then returns a `freeEligible` verdict. Bank-feed total and cash receipts are explicitly NOT used by the gate.
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that only annual invoice revenue is used for eligibility, explicitly excluding bank-feed total, cash receipts, and gross transaction volume. It also explains the upgrade implication for exceeding caps.

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

Conciseness5/5

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

The description is appropriately sized with 4-5 sentences, front-loaded with the core purpose. Every sentence earns its place, covering utility, parameters, and behavioral notes without verbosity.

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?

Given no output schema, the description adequately explains the return types (table, threshold, verdict with headroom math). It is complete for a lookup tool; minor omission is the lack of output format details, but the invocation modes imply the response structure.

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

Parameters4/5

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

Schema coverage is 100% with both parameters described. The description adds value beyond the schema by emphasizing the currency requirement (NOT USD-equivalent) and the headroom math computation for the verdict mode.

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?

The description clearly states the tool returns HelloBooks Free-plan annual-invoice-turnover thresholds for 8 supported countries, with specific currency amounts. It distinguishes from sibling analysis tools by focusing solely on eligibility thresholds.

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?

The description explicitly explains three invocation modes: no args for full table, with `country` for one threshold, or with both `country` and `annualInvoiceRevenue` for an eligibility verdict. It does not explicitly provide when-not-to-use guidance, but the context is clear.

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

how_munimji_helpsAInspect

Explain how HelloBooks and Munimji (the in-app AI assistant) help a specific business — given a free-text description of the user's own operations. Returns a curated capability knowledge base: business-operation areas (sales, purchases, banking, tax, reports, inventory, payroll, multi-entity, setup), and for each AI capability WHO does the work — autonomous (Munimji does it on its own, e.g. OCR extraction, running reports), approval (Munimji prepares the entry and you one-click approve before it posts to the ledger, e.g. AI categorization, find-and-match, creating invoices/bills by chat), assist (co-pilot, e.g. guided onboarding, voice), or manual (a software feature you run yourself). Each capability links to the backing software features. Use this when a user describes their business and asks "how can HelloBooks help me?", "what can the AI do for my shop/practice/agency?", or "what can Munimji do on its own vs what do I approve?". Pass their description in businessDescription; optionally filter by area or autonomy. The AI never posts to a ledger without approval. For the full software catalog call list_features; for pricing call list_plans.

ParametersJSON Schema
NameRequiredDescriptionDefault
areaNoOptional. Narrow to one business-operation area.
autonomyNoOptional. Filter Munimji capabilities by who does the work: `autonomous` (Munimji does it alone), `approval` (Munimji prepares, you approve before it posts), `assist` (co-pilot), `manual` (software feature you run yourself).
businessDescriptionNoOptional. The user describes their business and operations in their own words (industry, what they sell, how they get paid, who they pay, tax regime, pain points). It is echoed back as context — the calling assistant maps it to the returned areas + capabilities. No keyword scoring is done here; the LLM does the matching.
Behavior4/5

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

With no annotations, the description adds important behavioral context: the AI never posts to a ledger without approval, and it explains autonomy levels (autonomous, approval, assist, manual). This goes beyond the schema, though it does not detail side effects or rate limits, which are less relevant for this knowledge retrieval tool.

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?

The description is long but well-structured: purpose first, then output details, usage examples, parameter guidance, and sibling tool references. It front-loads key information and avoids fluff, earning its length.

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?

Since there is no output schema, the description fully explains the return structure (areas, autonomy levels, links to features) and provides context on autonomy definitions and usage. It also references sibling tools for completeness.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining how businessDescription is used (echoed back, LLM matching, no keyword scoring) and giving concrete example queries. It also elaborates on the autonomy enum values, exceeding the baseline.

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?

The description clearly states the tool explains how HelloBooks and Munimji help a specific business, returning a curated capability knowledge base with areas and autonomy levels. It distinguishes from siblings like list_features (full catalog) and list_plans (pricing) by referencing them.

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

Usage Guidelines5/5

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

Explicitly gives example queries for when to use this tool (e.g., 'how can HelloBooks help me?', 'what can Munimji do on its own vs approve?') and directs users to list_features for full catalog and list_plans for pricing, providing clear when-to-use and when-not-to-use guidance.

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

list_articlesAInspect

List published articles on hellobooks.ai — head-to-head compare pages and curated flagship blog posts. Filter by country, tag or free-text query. Use this when a user asks "do you have a blog/article about X?".

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoSingle tag to filter on (case-insensitive substring match against the article tag list). e.g. "gst", "1099", "tally".
limitNoMax articles to return (default 20).
queryNoFree-text query — substring-matched against the title, excerpt and tags of each article. e.g. "QuickBooks alternative" or "audit trail".
countryNoISO country code or "global". Returns articles whose countryRelevance matches OR is "global". Omit to return everything.
Behavior3/5

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

No annotations are provided, so the description must carry behavioral transparency. It states the tool lists published articles with filtering, but does not disclose traits like read-only nature, pagination, or any limits beyond the schema's maxLength.

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

Conciseness5/5

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

The description is extremely concise: two sentences plus a usage example. Every sentence provides essential information without redundancy, front-loading the tool's purpose.

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?

Given no output schema, the description does not explain return format or structure. While the tool is simple, a brief mention of what the response contains (e.g., list of article details) would improve completeness.

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 detailed parameter descriptions (e.g., case-insensitive substring match, enum values). The tool description merely restates 'Filter by country, tag or free-text query' without adding new meaning.

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?

The description clearly states the tool lists published articles on hellobooks.ai, specifying the types (head-to-head compare pages and curated flagship blog posts). It distinguishes well from sibling tools which are focused on financial analysis.

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 explicitly says 'Use this when a user asks do you have a blog/article about X?' providing clear context. While it doesn't list when not to use it, the sibling tools are sufficiently different to imply alternatives.

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

list_competitorsAInspect

Return competitor positioning entries (QuickBooks, Xero, FreshBooks, Wave, Zoho Books, Tally) with where HelloBooks wins, where the competitor wins, and pricing notes. Optional country, tier (primary / secondary), and id filters.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoReturn a single competitor by id (e.g. "quickbooks", "xero", "tally").
tierNoFilter to head-on rivals (primary) or adjacent / segment-specific overlaps (secondary).
countryNoOnly return competitors whose primary market is this country, or who are also evaluated in this market.
Behavior4/5

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

No annotations are provided, so the description carries the burden. It states it 'returns' data, implying a safe read operation. It does not mention any destructive behavior or side effects, but for a listing tool, this is acceptable. Lacks details on rate limits or idempotency, but the context is clear.

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

Conciseness5/5

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

The description is a single, well-structured sentence. It front-loads the key information (what is returned) and then lists filters. Every word adds value, no fluff.

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?

The description mentions returned fields (wins, pricing notes) but does not specify the exact structure (e.g., array of objects, keys). With no output schema, a bit more detail on the response format would be helpful, but it is adequate for a simple list tool.

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

Parameters5/5

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

Schema coverage is 100% with parameter descriptions. The tool description adds value by listing the specific competitors and clarifying the meaning of 'tier' (head-on rivals vs adjacent). It also states the returned fields (wins, pricing notes), which goes beyond the schema.

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?

The description clearly states the tool returns competitor positioning entries for specific named competitors (QuickBooks, Xero, etc.) with specific fields (wins, pricing notes). This verb+resource combination is specific and distinguishes it from sibling tools which are analysis, compliance, or feature-related.

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?

The description implies the tool is for retrieving competitor data with optional filters, but does not explicitly state when to use it over alternatives. However, given the sibling tools are all different (e.g., analyze_balance_sheet, compliance_capabilities), the usage context is clear enough from the tool name and domain.

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

list_credit_packsAInspect

List HelloBooks AI credit packs — one-time pay-as-you-go top-ups (Boost 5,000, Power 15,000, Mega 50,000, Ultra 150,000 credits) priced in 8 regional currencies (USD, INR, CAD, GBP, AUD, AED, SGD, NZD). Credit packs stack on any plan, including Free. Use this when a user asks how to buy more AI credits or top up after exhausting a plan allowance. Filter by id (boost / power / mega / ultra) or country (ISO code).

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoRestrict the response to a single credit pack.
countryNoISO country code. Filters prices to one country. Omit to return all 8 markets.
Behavior3/5

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

No annotations provided; description covers stacking behavior and filtering but lacks explicit safety or return format details. Adequate but not exhaustive.

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

Conciseness5/5

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

Two sentences with purpose front-loaded and no wasted words.

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?

No output schema, but description provides enough context for a simple list operation; could mention response shape but not critical.

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

Parameters4/5

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

Schema coverage 100%; description adds meaning by explaining enum values (boost/power/mega/ultra) and country code usage beyond the schema descriptions.

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?

Describes specific verb 'list' and resource 'credit packs', names the packs and currencies, and distinguishes from sibling tools like list_plans.

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?

Explicitly states when to use: when user asks about buying credits or topping up. No when-not-to-use, but context is clear.

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

list_feature_categoriesAInspect

List the 13 feature categories on the marketing site (Core Accounting, Invoicing, Banking, Reports, Tax & Compliance, Inventory, Warehouse, Manufacturing, AI, Integrations, Mobile, Operations, Industry Modules) with per-category counts by status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It describes a read operation (list) without side effects, but does not mention whether counts are real-time, cached, or what 'status' values are. This is adequate but not thorough.

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

Conciseness5/5

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

The description is a single sentence that efficiently conveys the tool's output, list of categories, and the count breakdown. No wasted words.

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?

The description covers the main purpose and output (list of categories with counts). However, it could be slightly more complete by explaining what 'status' means in the count context. Still, it is largely complete for a simple list tool.

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

Parameters5/5

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

There are no parameters (baseline 4). The description adds meaning by enumerating the specific categories and stating it provides per-category counts, which goes beyond the empty schema.

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?

The description clearly states it lists the 13 feature categories with per-category counts by status. It uses a specific verb-resource combination and distinguishes itself from sibling tools like 'list_features' by mentioning categories and specific names.

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

Usage Guidelines5/5

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

The description explicitly says when to use this tool: to get the 13 feature categories and their counts. It does not mention alternatives, but the clear purpose and lack of similar sibling tools for categories make the usage unambiguous.

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

list_featuresAInspect

List the full HelloBooks marketing feature catalog (145+ items). Filter by category, tier, status, marketedOnly, or substring query.

ParametersJSON Schema
NameRequiredDescriptionDefault
tierNoFilter by the minimum plan tier / add-on that unlocks the feature.
limitNoMax number of features to return. Default 200.
queryNoOptional substring match against label + shortDescription.
statusNoFilter by rollout status. Defaults to all.
categoryNoFilter to one feature category (core-accounting, invoicing-billing, etc.).
marketedOnlyNoIf true, only return features marketed on the public website.
Behavior2/5

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

No annotations are provided, so the description must bear full burden. It states the tool lists features but does not disclose any behavioral traits such as read-only nature, rate limits, pagination behavior, or result ordering. For a list operation, the lack of idempotency/safety info is a gap.

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

Conciseness5/5

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

The description is two efficient sentences. The first declares purpose, the second lists filters. No fluff or repetition, front-loaded with the action and resource.

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?

Given 6 parameters and no output schema, the description covers filter options but omits output shape, pagination details, and default behavior of the limit parameter. Adequate for a simple list tool but could be more complete for agent decision-making.

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 coverage is 100% with each parameter clearly described. The description repeats filter names but adds no extra meaning beyond what the schema provides. It does not explain filter combination logic (AND/OR) or defaults beyond schema hints.

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?

The description clearly states the verb 'list' and the resource 'full HelloBooks marketing feature catalog' with a specific item count, distinguishing it from sibling tools like 'feature_search' which likely targets specific features. The mention of filters further clarifies the scope.

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?

The description lists which filters are available but gives no guidance on when to use this tool versus alternatives like 'feature_search' or 'list_feature_categories'. Usage context is implied through filter options, but explicit when-not/alternatives are missing.

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

list_integrationsBInspect

List integrations (banks, payments, payroll, time tracking, shipping, accounting sync, ecommerce, CRM).

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by rollout status.
countryNoOnly return integrations available in this country (or global).
categoryNoFilter to one integration category.
Behavior2/5

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

With no annotations, the description fails to disclose behavioral traits such as read-only nature, pagination, or rate limits. Only states listing, which is minimal.

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?

Very concise and front-loaded with the verb and resource. However, it could be slightly expanded without losing efficiency.

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?

Does not describe the output format or any usage context. Given the absence of an output schema, the description should provide more completeness about what the tool returns.

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 coverage is 100%, so parameters are well-documented. The description adds minor context by listing example categories, but does not significantly enhance understanding beyond the schema.

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?

The description clearly states 'List integrations' with specific examples of categories, making it easy to understand the tool's purpose. It distinguishes from sibling tools which are analytical or other list tools.

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?

No guidance on when to use this tool versus alternatives like 'list_articles' or 'list_credit_packs'. Lacks any context for selection.

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

list_plansAInspect

List HelloBooks pricing plans with monthly + annual prices in 8 regional currencies (USD, INR, CAD, GBP, AUD, AED, SGD, NZD). Covers four core tiers — Free / Pro / Business / Partner Program (the cpa plan id) — plus two per-entity stackable add-ons (Warehouse, Manufacturing). Returns AI credit allowance, feature bullets (AI auto-categorization, unlimited users, multi-entity, 3-way matching, API access, etc.), and the public signup URL. Filter by plan (one of free / pro / business / cpa) or country (ISO code). Pricing follows Doc 19 v3 (Web-Fire #514, 2026-06-12): Business re-introduced as a 4th tier sized ~4× Pro to match Partner Points; the retired "$59.99/mo + $4.99/client" CPA SKU is gone and the cpa plan id now resolves to the free Partner Program (call partner_program_info for the status ladder + points math). HelloCPA Practice Management is a separate product on practice.hellobooks.ai — call practice_management_info, NOT this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
planNoRestrict the response to a single plan tier (`cpa` = free Partner Program).
countryNoISO country code. Filters prices to one country. Omit to return all 8 markets.
Behavior4/5

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

No annotations are provided, so the description carries full behavioral transparency weight. It discloses the data returned (prices, AI credit allowance, feature bullets, signup URL), the pricing version (Doc 19 v3), and clarifies the status of the CPA plan. It does not contradict any annotations.

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 description is thorough but somewhat verbose, including detailed versioning references (Doc 19 v3, Web-Fire #514) that may be extraneous for an agent. It front-loads the main purpose but could be more concise.

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?

Given the lack of an output schema, the description effectively explains the return values (AI credit allowance, feature bullets, signup URL) and covers all plan tiers and add-ons. It provides sufficient context for an agent to understand the tool's output.

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

Parameters4/5

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

Schema coverage is 100% with enum descriptions. The description adds significant context beyond the schema, such as mapping plan values to tier names and clarifying that 'cpa' resolves to the free Partner Program. Country parameter is explained as ISO codes for filtering.

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?

The description clearly states it lists HelloBooks pricing plans with monthly and annual prices in 8 currencies, covering four core tiers and two add-ons. It explicitly differentiates from sibling tools partner_program_info and practice_management_info by directing agents to use those for related but distinct information.

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?

The description provides explicit guidance on when to use alternative tools (partner_program_info for status ladder and practice_management_info for a separate product). It also explains filtering options but does not explicitly state the primary use case for pricing queries.

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

list_tax_ratesAInspect

List statutory tax-rate slabs by jurisdiction — IN GST (5/12/18/28 + zero + exempt + composition trader/manufacturer/restaurant + compensation cess), UK VAT (20 / 5 / zero / exempt), AU GST (10 / GST-free), US sales-tax (state-administered summary, no federal rate), CA GST 5% + HST 13% ON / 15% Atlantic, SG GST 9%, NZ GST 15%, AE VAT 5%. Filter by country, taxType (GST/VAT/Sales-Tax/HST/IGST/CGST-SGST/TDS/TCS), or scheme (standard / reduced / zero / exempt / composition / cess / state-summary). Every entry carries an effective-from date and an authoritative source URL (CBIC, gov.uk, ATO, CRA, IRAS, IRD, FTA, Tax Foundation) — agents should confirm the rate against the source before quoting figures to a user. Use this when a user asks "what is the GST rate on X?", "what VAT band does Y fall into?", or "what are the composition slabs in India?". This is the public statutory reference — for an org-specific tax assignment use the authenticated books_classify_event tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
schemeNoFilter by slab category — standard, reduced, zero, exempt, composition, cess.
countryNoFilter to one jurisdiction. Omit to return every supported country.
taxTypeNoFilter by statutory tax type (GST, VAT, Sales-Tax, HST, etc.).
Behavior5/5

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

No annotations provided, so the description fully carries the burden. It discloses that results include 'effective-from date and an authoritative source URL', and explicitly warns 'agents should confirm the rate against the source before quoting figures'. No destructive or mutating behavior implied. Description is thorough and honest about limitations.

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?

The description is dense but well-structured: purpose (first sentence), jurisdiction list, filter options, return value description, usage guidance. Every sentence has a clear function. One sentence is long (the jurisdiction enumeration) but necessary for clarity. Could be slightly trimmed without losing information, but it's efficient for the information density.

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 listing tool with three optional parameters and no output schema, the description covers all essential aspects: what data is returned (rates, source URL, effective-from date), how to filter (country, taxType, scheme), and when to use vs. alternatives. It even warns about confirmation. No gaps identified.

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

Parameters4/5

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

Schema coverage is 100% (all three parameters have descriptions and enums). The description adds context beyond the schema by explaining the meaning of scheme values in specific jurisdictions (e.g., 'IN GST (5/12/18/28 + zero + exempt + composition…)') and that country can be omitted to return all. This enriches parameter understanding beyond raw enums.

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?

The description opens with a specific verb-resource combination: 'List statutory tax-rate slabs by jurisdiction'. It enumerates many countries and tax types, clearly distinguishing scope. It differentiates from siblings by stating when to use (e.g., 'Use this when...') and when not to (org-specific tax assignment → books_classify_event).

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?

Explicitly lists use cases: 'when a user asks "what is the GST rate on X?", "what VAT band does Y fall into?", or "what are the composition slabs in India?"'. Also provides an exclusion: 'For an org-specific tax assignment use the authenticated books_classify_event tool'. Could mention the sibling lookup_tax_rate for single-rate lookups, but guidance is clear and helpful.

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

list_videosAInspect

List HelloBooks product videos curated on the marketing site (homepage demo + feature walkthroughs) and the official @hellobooksai YouTube channel link. Each video returns title, description, category, watch URL, embed URL and thumbnail. Filter by category (demo / features / overview), featuredOnly, or free-text query. Use this when a user asks for a demo, walkthrough or video. Note: this is the curated set, not a live mirror of every channel upload — the response includes the channel URL for the full catalog.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoOptional substring match against video title + description.
categoryNoFilter to one video category (demo, features, overview).
featuredOnlyNoIf true, only return videos flagged as featured on the marketing site.
Behavior5/5

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

With no annotations, the description carries full burden. It discloses that the list is curated, not a live mirror, and includes the channel URL for full catalog. This transparency covers all behavioral aspects.

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

Conciseness5/5

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

The description is three sentences, front-loaded with purpose, each sentence adding distinct value. No wasted words.

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 list tool with 3 optional parameters and no output schema, the description covers input usage, output fields, and important context (curated set, channel URL). It is complete for agent decision-making.

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

Parameters5/5

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

Schema coverage is 100%, but the description adds context beyond schema: explains query as substring match, category with examples, and featuredOnly as boolean filter. This adds meaningful guidance.

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?

The description clearly states the action 'List HelloBooks product videos curated on the marketing site' and the resource (videos). It specifies output fields and distinguishes from a live mirror, making the purpose unambiguous.

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

Usage Guidelines5/5

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

The description explicitly says 'Use this when a user asks for a demo, walkthrough or video.' It also notes when NOT to use it (for full catalog, by directing to channel URL). This provides clear guidance.

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

local_payment_methodsAInspect

List local bank-rail / wallet payment methods relevant to HelloBooks invoice collection (AR), B2B supplier payments (AP), and contractor payouts (UPI, RuPay, Razorpay, IMPS, NEFT, RTGS, BACS, FPS, CHAPS, Open Banking, Interac e-Transfer, EFT, PayID, PayTo, NPP, BPAY, ACH, Same Day ACH, Fedwire, RTP, Zelle, PayNow, FAST, GIRO, NZ Direct Credit, etc.). Returns rail (instant / same-day / next-day / multi-day), use-cases, issuing authority, HelloBooks support level, and operational notes (per-transaction caps, settlement windows, retirement timelines). Filter by country, useCase, rail, or id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoReturn a single payment method by id (e.g. "in-upi", "au-payid", "us-rtp").
railNoFilter by settlement rail (instant, same-day, next-day, multi-day).
countryNoFilter to one country (IN, US, CA, GB, AU, AE, SG, NZ).
useCaseNoFilter by payment use-case. Defaults to HelloBooks' invoice-collection + b2b-supplier + contractor-payout scope; pass an explicit value to widen.
Behavior4/5

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

No annotations provided, so description bears full burden. It explains the return fields (rail, use-cases, issuing authority, support level, operational notes) and default useCase behavior. It is a read-only listing tool with no side effects mentioned, which is appropriate.

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?

The description is informative and front-loaded with purpose and examples. While slightly long, every sentence adds value. It could be tightened by removing redundant examples, but still effective.

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 4 parameters, no output schema, and no annotations, the description is remarkably complete. It explains filter options, default behavior, return fields, and even provides example IDs. Meets the needs for an AI agent to use the tool correctly.

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

Parameters5/5

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

Schema coverage is 100%, but description adds significant value beyond schema: it explains default useCase scope, gives example IDs ('in-upi', 'au-payid', 'us-rtp'), and clarifies the meaning of each parameter in the context of HelloBooks.

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?

The description clearly states the tool lists bank-rail/wallet payment methods relevant to HelloBooks use cases (AR, AP, contractor payouts). It specifies the verb 'List' and resource 'local payment methods', with examples. It distinguishes from sibling tools which are mostly analysis and compliance functions.

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?

The description explicitly mentions filtering by country, useCase, rail, or id, and provides default scoping for useCase. However, it does not explicitly state when not to use or mention alternative tools, though the context of sibling tools suggests this is a unique listing function.

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

lookup_tax_rateAInspect

Pick a single statutory tax-rate slab — either by exact id (e.g. IN-standard-18, GB-zero-0, CA-hst-13-on) for a deterministic lookup, or by country + free-text category (e.g. "office supplies", "restaurant", "exports", "domestic fuel") for a fuzzy best-match. Returns the matched rate, the match score, and the authoritative source URL. Use this when a user asks "what slab does X fall into in India?" or "what VAT rate applies to children's car seats?". For broader exploration (all slabs in a country / all rates of one scheme), use list_tax_rates. No customer data — public statutory reference only.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoExact rate id, e.g. ``IN-standard-18`` or ``GB-zero-0``. When set, country/category are ignored.
countryNoCountry to search within. Required when ``id`` is not provided.
categoryNoFree-text query — "office supplies", "restaurant", "exports", "domestic fuel".
Behavior4/5

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

With no annotations provided, the description carries the full burden. It explains the deterministic vs fuzzy behavior, the return fields (matched rate, match score, source URL), and the public nature. However, it does not disclose edge cases like what happens if no match is found or rate limits, which would raise transparency further.

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?

The description is comprehensive but not overly verbose. It is front-loaded with the core action, then explains the two modes, usage guidance, sibling reference, and a caveat. Every sentence adds value, though it could be slightly more concise by merging some examples.

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?

Given the tool's complexity (3 parameters, no output schema, no annotations), the description adequately covers purpose, parameter usage, when to use, and return values. It explicitly mentions the return fields, which is sufficient without an output schema. Minor gaps like error handling prevent a perfect score.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds significant value by explaining the id format with examples, providing category examples, and stating that id overrides country/category. This context helps the agent understand parameter usage beyond the schema.

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?

The description clearly states that the tool picks a single statutory tax-rate slab, either by exact id or fuzzy match by country and category. It provides examples of id format and category inputs, and explicitly distinguishes itself from the sibling tool list_tax_rates by specifying that the latter is for broader exploration.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool ('when a user asks what slab does X fall into...') and when not to ('For broader exploration... use list_tax_rates'). It also includes a caveat that the tool provides public statutory reference only, guiding the agent away from customer data queries.

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

partner_program_infoAInspect

Return the HelloBooks Partner Program structure — free reseller channel for accountants/CPAs/bookkeepers who put their clients on Pro/Business plans. Earned wholesale discount model (no commission): Bronze 5% at 25 pts / Silver 10% at 75 / Gold 15% at 300 / Platinum 20% at 1,000+. Pro client = 1 pt/mo, Business client = 4 pts/mo. Call with no args for the full ladder + meta; with points for current status + how many points to next tier; with proClients and/or businessClients to derive points from the client book and then return the same status verdict. The Partner Program is the cpa plan id in list_plans (the retired $59.99 SKU is gone). HelloCPA Practice Management at practice.hellobooks.ai is a different product and NOT the Partner Program.

ParametersJSON Schema
NameRequiredDescriptionDefault
pointsNoCurrent Partner Points total. If supplied, the response includes the partner's status + how many more points are needed to reach the next tier.
proClientsNoActive Pro-plan clients (1 point each per month). Combined with `businessClients` to derive points if `points` is not supplied directly.
businessClientsNoActive Business-plan clients (4 points each per month). Combined with `proClients` to derive points.
Behavior4/5

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

Explains the reward mechanism (tiers, points per client type), the relationship to list_plans, and the status of the retired SKU. L lacks error handling or edge-case details, but provides substantial behavioral context.

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 purpose, then detailed. Every sentence adds value, though it is somewhat lengthy. Could be slightly more concise but remains clear and well-structured.

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?

Covers all modes of operation and output expectations. References related tools and disambiguates from a similar product. For a tool with no output schema, this is comprehensive.

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

Parameters4/5

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

Adds meaning beyond the schema: explains how points are derived from clients (Pro=1 pt/mo, Business=4 pts/mo) and how arguments combine. With 100% schema coverage, this is above baseline.

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?

The description clearly states the tool returns the HelloBooks Partner Program structure, specifying the audience (accountants/CPAs/bookkeepers) and distinguishing it from sibling tools like practice_management_info.

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

Usage Guidelines5/5

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

Explicitly guides when to use the tool: with no args for full ladder, with 'points' for current status, or with 'proClients'/'businessClients' to derive points. Also warns about confusing it with HelloCPA Practice Management.

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

practice_management_infoAInspect

Return HelloCPA Practice Management info — the standalone product at practice.hellobooks.ai for running a CPA / CA / bookkeeping practice (proposals + CPQ, workflow, time tracking, billing, 6-role RBAC, Gmail/Outlook/Calendar sync, CSV migration from TaxDome / Karbon / Canopy). NOT the Partner Program and NOT a tier in list_plans. Per-user pricing model — US shipped at $9.99/user/month (free up to 2 users + 10 clients, 90-day trial, enterprise at 50+ users). 7 other markets (IN, GB, AU, CA, AE, SG, NZ) are roadmap as of 2026-06-12. Call with no args for the full 8-region matrix + features + meta, or with country for one region's status + pricing + competitor frame.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoISO country code. Omit to get the full 8-region matrix. US is shipped; the other 7 are roadmap as of 2026-06-12.
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses that most countries are 'roadmap as of 2026-06-12', details pricing, regions, and features. Lacks mention of data freshness or rate limits but adequate for an info tool.

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 efficient. Front-loads purpose, then exclusions, pricing, and usage modes. Some details (e.g., 'US shipped at $9.99/user/month') could be shortened but overall well-structured.

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?

No output schema, but description fully explains return variants: full matrix vs region-specific. Covers features, pricing, regions, trial, enterprise, and competitor context. No critical gaps.

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

Parameters4/5

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

Schema coverage is 100%, baseline 3. Description adds significant value: explains calling without args gives full matrix, with 'country' gives region-specific status, pricing, competitor frame. Enriches the enum's meaning.

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?

The description clearly states the tool returns 'HelloCPA Practice Management info', specifying the standalone product and distinguishing from sibling tools like 'partner_program_info' and 'list_plans'.

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

Usage Guidelines5/5

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

Explicitly says 'NOT the Partner Program and NOT a tier in list_plans', and describes two usage modes: call with 'country' for one region or without for full matrix. Provides clear when-to-use guidance.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    -
    quality
    C
    maintenance
    Financial data infrastructure for AI agents. Connect to a startup's books to read live P&L and bank balances, review and reclassify transactions, manage the chart of accounts, and connect banking sources.
  • A
    license
    -
    quality
    C
    maintenance
    An accounting-ops agent that reconciles payments against open orders, auto-books provably safe payments through a deterministic policy gate, and escalates exceptions to a human queue with audit trails.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An intelligent bookkeeping MCP server for QuickBooks Online that enables natural language control over categorization, reconciliation, monthly close, and anomaly detection.
    14
    16
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    AI bookkeeper for small businesses that connects to QuickBooks Online. Enables users to query financial data like bank balances, P\&L reports, and invoices through natural language in Claude Desktop or Cursor.
    6
    46
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.