Skip to main content
Glama
e-arveldaja MCP Server

e-arveldaja MCP Server

by iseppo

Book Lightyear Distributions

book_lightyear_distributions
Destructive

Creates journal entries for Lightyear dividend, interest, and reward distributions, including withheld tax, with a dry-run preview by default.

Instructions

Create journal entries for Lightyear dividend, interest, and reward distributions, including withheld tax. DRY RUN by default. With fx_source="ecb", a foreign distribution that stays in its currency (no conversion on the statement) is valued at the ECB reference rate of its statement day; the rate (or the failed lookup) is bound into the reviewed plan and execute never refetches. Retained USD distributions are logged in the USD cash-fund pool.

Input Schema

NameRequiredDescriptionDefault
dry_runNoPreview without creating entries (default true)
file_refNoOpaque Lightyear AccountStatement file reference.
file_pathNoAccountStatement path/base64 input. Provide exactly one of file_path or file_ref.
fx_sourceNoRate source for foreign distributions: "statement" (default) needs the paired Lightyear conversion; "ecb" values a distribution that has no conversion at all at the ECB rate of its statement day (weekend/holiday: last earlier published rate). Today's rate is never final.
fee_accountNoPlatform fee expense account (default 8610 Muud finantskulud)
plan_handleNoExecution-plan handle from the reviewed dry run. Required for dry_run=false.
tax_accountNoWithheld tax receivable/expense account (for tax_amount from CSV)
broker_accountYesBroker cash account (e.g. 1120 Lightyear konto)
income_accountYesIncome account for Dividend rows (dividends from directly-held shares → 8330 'Tulu aktsiatelt ja osadelt'). Fund Distribution rows use fund_distribution_account and Interest rows use interest_account.
reward_accountNoAccount for platform rewards/bonuses (default: auto-detect 'Muud finantstulud', standard 8600). Rewards are broker fee/campaign income, not securities income.
interest_accountNoAccount for Interest rows (default: auto-detect 'Intressitulu hoiustelt', standard 8400).
lightyear_accountNoLightyear account id (e.g. CHZELUU) for the USD pool when the statement's file name does not carry it.
broker_dimension_idNoDimension ID for broker account (accounts_dimensions_id)
fund_distribution_accountNoAccount for fund Distribution rows — both Lightyear cash funds (BRICEKSP, ICSUSSDP) alike (default: auto-detect 'Tulu fondiosakute ümberhindlusest', standard 8320).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.39.0
    • changedInput schema / properties / fund_distribution_account / description
      Previous value: -"Account for fund Distribution rows (default: auto-detect 'Tulu fondiosakute ümberhindlusest', standard 8320)."New value: +"Account for fund Distribution rows — both Lightyear cash funds (BRICEKSP, ICSUSSDP) alike (default: auto-detect 'Tulu fondiosakute ümberhindlusest', standard 8320)."
    • addedInput schema / properties / fx_source
      Added value: +{
      +  "description": "Rate source for foreign distributions: \"statement\" (default) needs the paired Lightyear conversion; \"ecb\" values a distribution that has no conversion at all at the ECB rate of its statement day (weekend/holiday: last earlier published rate). Today's rate is never final.",
      +  "enum": [
      +    "statement",
      +    "ecb"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / lightyear_account
      Added value: +{
      +  "description": "Lightyear account id (e.g. CHZELUU) for the USD pool when the statement's file name does not carry it.",
      +  "pattern": "^[A-Z0-9]{3,32}$",
      +  "type": "string"
      +}
  2. Changed1 schema field changedv0.29.2
    • addedInput schema / additionalProperties
      Added value: +false
  3. Changed3 schema fields changedv0.27.0
    • addedInput schema / properties / fund_distribution_account
      Added value: +{
      +  "description": "Account for fund Distribution rows (default: auto-detect 'Tulu fondiosakute ümberhindlusest', standard 8320).",
      +  "type": "number"
      +}
    • changedInput schema / properties / income_account / description
      Previous value: -"Investment income account for the distribution. Dividends from directly-held shares → 8330 'Tulu aktsiatelt ja osadelt'; fund distributions → 8320; interest → 8400."New value: +"Income account for Dividend rows (dividends from directly-held shares → 8330 'Tulu aktsiatelt ja osadelt'). Fund Distribution rows use fund_distribution_account and Interest rows use interest_account."
    • addedInput schema / properties / interest_account
      Added value: +{
      +  "description": "Account for Interest rows (default: auto-detect 'Intressitulu hoiustelt', standard 8400).",
      +  "type": "number"
      +}
  4. Changed6 schema fields changedv0.25.2
    • changedInput schema / properties / file_path / description
      Previous value: -"Absolute path to Lightyear AccountStatement CSV file."New value: +"AccountStatement path/base64 input. Provide exactly one of file_path or file_ref."
    • addedInput schema / properties / file_ref
      Added value: +{
      +  "description": "Opaque Lightyear AccountStatement file reference.",
      +  "type": "string"
      +}
    • changedInput schema / properties / income_account / description
      Previous value: -"Investment income account (e.g. 8320 Tulu fondiosakutelt, 8400 Intressitulu)"New value: +"Investment income account for the distribution. Dividends from directly-held shares → 8330 'Tulu aktsiatelt ja osadelt'; fund distributions → 8320; interest → 8400."
    • addedInput schema / properties / plan_handle
      Added value: +{
      +  "description": "Execution-plan handle from the reviewed dry run. Required for dry_run=false.",
      +  "type": "string"
      +}
    • changedInput schema / properties / reward_account / description
      Previous value: -"Account for platform rewards (default: 3800 Muud äritulud). Rewards are non-investment income."New value: +"Account for platform rewards/bonuses (default: auto-detect 'Muud finantstulud', standard 8600). Rewards are broker fee/campaign income, not securities income."
    • changedInput schema / required
      Previous value: -[
      -  "file_path",
      -  "broker_account",
      -  "income_account"
      -]New value: +[
      +  "broker_account",
      +  "income_account"
      +]
  5. First observedv0.18.1

TDQS

A4/5.0
Behavior4/5

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

Annotations already flag a destructive, non-idempotent, open-world write, and the description adds genuinely new behavior: a dry-run-first default, FX rates (or failed lookups) bound into the reviewed plan so execute never refetches, and retained USD distributions routed to the USD cash-fund pool. It does not say what state is left behind on partial failure or whether created entries are drafts.

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?

Three sentences, front-loaded with the action and default mode, then the FX rule and the pool rule. The FX sentence is dense and clause-heavy but every clause carries operational meaning; no filler.

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?

For a 14-parameter destructive writer with no output schema, the description covers the dry-run/execute lane and FX handling well but is silent on entry status (draft vs confirmed), duplicate handling, and error/partial-success reporting. Adequate for invocation, thin for end-to-end expectation setting.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents every parameter, including the fx_source enum. The description reinforces fx_source semantics and the USD-pool link to lightyear_account but adds little beyond that; baseline 3 applies.

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?

States a specific verb (create) plus the exact resource and subtypes (Lightyear dividend, interest and reward distributions, with withheld tax). That specificity alone separates it from siblings such as book_lightyear_trades, book_lightyear_fx_revaluation and parse_lightyear_statement, so an agent can route to it without opening the schema.

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?

Gives real workflow guidance: DRY RUN by default, and plan_handle is required for execution, implying the review-then-execute path. It also spells out the fx_source choice ('statement' needs a paired conversion; 'ecb' is for distributions with no conversion). It never explicitly names an alternative tool to use instead, but the context is unambiguous.

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