Skip to main content
Glama
ryanduguid

Australian Accounting MCP

Build a Payday Super evidence pack

build_payday_super_evidence_pack
Read-onlyIdempotent

Generate a Payday Super evidence pack with report.csv, practitioner review notes, exceptions.json, and a decision log for accountant workpapers.

Instructions

Return report.csv, practitioner-review.md, exceptions.json and decision-log.md.

The engine owns all assessment and rendering. Returns UTF-8 file contents in memory, with no file reads or writes for caller-supplied paths. Missing receipt evidence remains missing; all non-ON_TIME rows require human review. The report omits employee identifiers, but input references still enter the calling host. Review aid, not advice or lodgement. Requires an engine with evidence-pack support. Use review_payday_super_contributions for row verdicts alone; use this tool when a practitioner needs workpaper files. It takes the same contributions and as_at. Keep response_detail full unless the host reads structuredContent.files.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_atYesExplicit assessment date, YYYY-MM-DD.
contributionsYesEstablished contribution rows for one employer. Supply all related rows and the three eligibility flags. Use fabricated rows for demonstrations.
response_detailNoFull repeats the pack in text for compatibility. Compact keeps all files in structuredContent.files and summarises text; use only with a host that reads them.full

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYesThe review ran; this does not mean compliance or a known verdict.
as_atYesDate in YYYY-MM-DD form.
filesYes
engineYesDelegated distribution that produced this result.
caveatsYesLimitations to retain when presenting the result.
disclaimerYes
engine_versionYesInstalled version of that engine.
law_content_dateYesDate in YYYY-MM-DD form.
review_exit_codeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.1.22
    • addedInput schema / $defs / ContributionInput / properties / matched_amount / pattern
      Added value: +"^\\s*-?[0-9]+(?:\\.[0-9]{1,2})?\\s*$"
    • addedInput schema / $defs / ContributionInput / properties / remitted_amount / pattern
      Added value: +"^\\s*-?[0-9]+(?:\\.[0-9]{1,2})?\\s*$"
    • addedInput schema / $defs / ContributionInput / properties / sg_amount / pattern
      Added value: +"^\\s*-?[0-9]+(?:\\.[0-9]{1,2})?\\s*$"
  2. Changed1 schema field changedv0.1.14
    • changedInput schema / $defs / ContributionInput / properties / received / description
      Previous value: -"Evidenced fund-receipt date. Timing only: pair it with matched_amount (or remitted_amount). An engine with the receipt-amount rule (unreleased after payday-super-checker 0.1.6) leaves a bare receipt UNKNOWN rather than ON_TIME; 0.1.6 reads it as a full receipt and says so in a caveat."New value: +"Evidenced fund-receipt date. Timing only: pair it with matched_amount (or remitted_amount). Checker 0.1.7 leaves a timely receipt without an amount UNKNOWN; a late receipt stays LATE without reducing the shortfall. Earlier checker 0.1.6 assumes full receipt and says so in a caveat."
  3. Changed3 schema fields changedv0.1.13
    • changedInput schema / $defs / ContributionInput / properties / matched_amount / description
      Previous value: -"AUD allocated to this row."New value: +"AUD the fund received for this row. Supply it with every received date: a receipt date alone evidences no amount, and an engine with the receipt-amount rule will not assess a full receipt as ON_TIME without it."
    • changedInput schema / $defs / ContributionInput / properties / received / description
      Previous value: -"Evidenced fund-receipt date."New value: +"Evidenced fund-receipt date. Timing only: pair it with matched_amount (or remitted_amount). An engine with the receipt-amount rule (unreleased after payday-super-checker 0.1.6) leaves a bare receipt UNKNOWN rather than ON_TIME; 0.1.6 reads it as a full receipt and says so in a caveat."
    • addedInput schema / properties / as_at / maxLength
      Added value: +40
  4. Addedv0.1.11

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover the safe-read profile (readOnly, idempotent, non-destructive); the description goes well beyond them: no file reads/writes for caller-supplied paths, missing receipt evidence stays missing, every non-ON_TIME row needs human review, identifiers omitted from the report but still entering the host, and a required engine capability. These are exactly the operational traits an agent cannot infer from annotations.

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

Conciseness4/5

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

Front-loaded with the returned artifacts, then behavior, then routing, then parameter advice — a sensible order with no filler sentences. It is dense and telegraphic in places, but every sentence carries information.

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 non-destructive reported-output tool with a full schema and an output schema present, the description covers artifacts, engine prerequisite, review obligation, data-handling caveats, and sibling routing. Nothing needed to call it correctly is missing.

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 description coverage is 100%, so the baseline is 3 and the schema carries most parameter meaning. The description adds a modest but real overlay: it notes the tool takes the same contributions and as_at as the sibling, points to structuredContent.files, and warns to keep response_detail full unless the host reads that structure.

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?

Opens with a concrete verbs+artifacts list (report.csv, practitioner-review.md, exceptions.json, decision-log.md) and states the engine does assessment and rendering. It is immediately distinguishable from sibling review_payday_super_contributions, which is named as delivering row verdicts alone.

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 routes: 'Use review_payday_super_contributions for row verdicts alone; use this tool when a practitioner needs workpaper files.' It also states the shared inputs (contributions, as_at) and when to use compact vs full response detail, so the agent knows both the alternative and the choosing condition.

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