Skip to main content
Glama
Beeswax Shares MCP Server

Beeswax Shares MCP Server

by steamau

Use the ATO position for the balance sheet

use_ato_position

Replace typed ATO balance-sheet lines with the fund's imported 30 June ATO position, previewing superseded lines and net asset effect before applying.

Instructions

Take a financial year's ATO balance-sheet lines from the fund's imported ATO accounts' 30 June position (get_ato_position) instead of typed lines: the activity statement's integrated client account (bucket "owed"), each component accrued for the June quarter ("accrued_gst", "accrued_payg_instalment" …) and the income tax account's balance for EARLIER income years ("owed"). The year being prepared always comes from the return (label S), never the income tax account. Derived lines have source "ato_position", ato_account_id + ato_bucket and a web_url to the account at 30 June; they can't be edited by hand. Each typed line that stands for the same account + bucket — linked with link_balance_item_to_ato, or else on the same side with a label naming it (ICA, GST, PAYG, income tax), preferring the same amount — is SUPERSEDED: kept for the audit (counted: false), shown struck through, left out of every total. dry_run defaults to true and writes nothing: it returns each line with the typed line it supersedes (before → after), unmatched_typed (ATO-looking typed lines that would keep counting), stale derived lines it would drop and net_assets_effect. Show the user, then call with dry_run: false. Applying again changes nothing unless the ATO position moved. Rejected if the year is closed or lodged; after finalise, get_smsf_return reports ato_position_drift instead.

Tool call template

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

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "fund_id": "<fund_id>",
      "financial_year": "<financial_year>"
    },
    "name": "use_ato_position"
  }
}

Input Schema

NameRequiredDescriptionDefault
keepNoIds of matched typed balance items to leave counting instead of superseding
dry_runNotrue (default): preview only, nothing written
fund_idYesFund ID (discover via whoami or list_funds)
reasoningNoWhy you are making this change — recorded on the audit log entry for this write
external_refNoYour stable ID for this write (e.g. a statement line or document reference). Repeating a call with the same external_ref replays the first result instead of writing twice.
financial_yearYesFinancial year — the label "2023-24" or its numeric id (from list_financial_years)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.14.0

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations, the description discloses the important behavioral details: derived lines are tagged with source/metadata and cannot be hand-edited; matched typed lines are superseded but retained for audit, struck through, and excluded from totals; dry_run returns preview fields including before/after and net_assets_effect. It also covers idempotency and rejection/drift behavior, which is substantial transparency for a write operation.

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 purpose is front-loaded and nearly every sentence carries operational detail, including matching rules, audit behavior, and dry-run fields. However, it is a very dense single paragraph with heavy parenthetical detail, making it harder to scan than it could be.

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 complex six-parameter mutation with no output schema and minimal annotations, the description covers the source of truth, matching and supersession rules, dry-run outputs, idempotency, and rejection conditions. An agent has enough information to call it correctly and understand the consequences.

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 already 100%, so the schema documents all six parameters. The description adds useful meaning around dry_run and the financial-year source, but it does not explain the keep parameter or add material detail beyond the existing schema descriptions for reasoning and external_ref; baseline 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 states a specific verb and resource: take ATO balance-sheet lines from the imported 30 June position and supersede matching typed lines. It clearly distinguishes this from typing balance-sheet lines manually and names the source tool, get_ato_position.

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 to use the ATO position instead of typed lines, instructs the agent to show the dry-run result before applying, and gives when-not conditions: rejected if the year is closed or lodged. It does not name a fallback alternative for creating typed lines when no ATO position exists, so it falls short of full when/when-not/alternatives guidance.

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

Deploy Server

Other Tools