Skip to main content
Glama
iseppo

e-arveldaja MCP Server

by iseppo

Execute Year-End Close

execute_year_end_close
Destructive

Generate RIK year-end closing draft journals, ensuring no existing entry is duplicated. Requires confirm=true; entries are created for review and later registration.

Instructions

Create the missing RIK year-end closing entries from prepare_year_end_close as draft journals (never books an existing entry twice). Requires confirm=true; review/register separately.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearYesFiscal year (YYYY)
confirmYesMust be true to create the closing journal entries
reserve_capital_amountNoPart of a profit to credit to reserve capital (default account: name-resolved Kohustuslik reservkapital, 2940) instead of retained earnings in the 1 January entry
reserve_capital_accountNoReserve capital account override for reserve_capital_amount
allow_additional_transferNoAcknowledge that a smaller same-direction 2970 → 2960 transfer for the year already exists on 1 January and book the proposed remainder anyway (transfers on other dates or ambiguous ones always need manual review)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.27.0
    • addedInput schema / properties / allow_additional_transfer
      Added value: +{
      +  "description": "Acknowledge that a smaller same-direction 2970 → 2960 transfer for the year already exists on 1 January and book the proposed remainder anyway (transfers on other dates or ambiguous ones always need manual review)",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / reserve_capital_account
      Added value: +{
      +  "description": "Reserve capital account override for reserve_capital_amount",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • addedInput schema / properties / reserve_capital_amount
      Added value: +{
      +  "description": "Part of a profit to credit to reserve capital (default account: name-resolved Kohustuslik reservkapital, 2940) instead of retained earnings in the 1 January entry",
      +  "exclusiveMinimum": 0,
      +  "type": "number"
      +}
  2. Addedv0.25.3
  3. Removedv0.25.2
  4. First observedv0.18.1

TDQS

A3.6/5.0
Behavior1/5

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

The description claims 'never books an existing entry twice', which is an idempotency guarantee, but the annotations set idempotentHint=false. This directly contradicts the structured metadata and could mislead an agent about retry safety. The other behavioral details (draft journals, confirm requirement) are useful, but the contradiction forces a score of 1.

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 dense sentences with no filler. The core action, source, draft status, duplicate protection, confirmation requirement, and downstream registration step are all included and front-loaded.

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?

For a 5-parameter, no-output-schema tool, the description covers the most decision-relevant facts: where the entries come from, that they are drafts, that duplicates are avoided, and that confirm=true is mandatory. The only notable gap is the contradiction with the idempotency annotation, which is not a completeness issue but a consistency issue.

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 explains year, confirm, reserve_capital_amount, reserve_capital_account, and allow_additional_transfer. The description adds no parameter-level meaning beyond restating 'confirm=true', so the baseline 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 uses a specific verb ('Create') and a specific resource ('missing RIK year-end closing entries from prepare_year_end_close'), and distinguishes the tool from prepare_year_end_close and from review/registration. An agent can tell exactly what this tool does and how it differs from its siblings.

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 states that confirm=true is required and that review/register is a separate step, giving clear operational context. It does not explicitly name alternatives or say 'use X instead', but the reference to prepare_year_end_close and the separate registration step effectively route the agent.

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