Skip to main content
Glama
MarketingBNG

tally-mcp

by MarketingBNG

tally_confirm_write

Destructive

Sends a user-approved, previously previewed accounting change to TallyPrime exactly once, then confirms the result and records it in the write log.

Instructions

Send ONE previously previewed change to TallyPrime.

WHEN TO USE: only after a write tool (tally_create_*, tally_alter_*, tally_cancel_*, tally_delete_*) returned a preview AND the user has seen it and explicitly approved it. Never call this on your own initiative.

WHAT IT DOES: re-checks the preview against the live books, sends it exactly once, judges TallyPrime's reply, reads the books back to confirm, and records it in the write log.

IF IT TIMES OUT or reports WRITE_OUTCOME_UNKNOWN: do NOT prepare and confirm the same change again — it may already be in the books. Check first.

A token works once and expires 15 minutes after the preview.

Input Schema

NameRequiredDescriptionDefault
confirmTokenYesThe confirmToken from the preview the user approved.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.2.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations cover the safety profile (destructive, non-idempotent, not read-only), and the description adds substantial context beyond them: exactly-once send, re-validation against live books before sending, read-back confirmation, write-log recording, and the critical retry guidance for timeouts/WRITE_OUTCOME_UNKNOWN. The single-use, 15-minute token expiry is also disclosed. No contradiction with the idempotentHint=false annotation — the warning against re-confirming aligns with it.

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?

Front-loaded with the action, then scannable WHEN TO USE / WHAT IT DOES / failure-mode sections. Every sentence carries operational weight — the timeout warning in particular is not padding.

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 one-parameter, non-idempotent, destructive mutation with no output schema, the description covers the preconditions, internal behavior, failure recovery, and token expiry. Nothing an agent needs to invoke it safely 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 coverage is 100% and there is only one parameter, so the baseline is 3. The description goes further by explaining the token's lifecycle: it works exactly once and expires 15 minutes after the preview, which is operational meaning the schema's one-line description does not convey.

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 names a specific verb and resource ('send ONE previously previewed change to TallyPrime') and immediately frames this as the confirmation step that follows the preview-producing write tools. An agent can distinguish it from tally_create_*, tally_alter_*, tally_cancel_*, and tally_delete_* without opening any schema.

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?

It states the exact precondition (a prior write tool returned a preview AND the user explicitly approved it), an explicit prohibition ('Never call this on your own initiative'), and names the sibling tool families that must precede it. This is as close to unambiguous routing as a write-confirmation tool can get.

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