Skip to main content
Glama

Beancount.io

Discard Staged Bank Transactions

discardStagedBankTransactions
Destructive

Remove staged bank transactions so they are never imported. dry_run reports what would be removed.

Input Schema

NameRequiredDescriptionDefault
dryRunNoAlias of dry_run, as REST and GraphQL spell it.
ledgerNoTarget ledger as owner/name. Required for an unpinned credential; defaults to the credential's ledger restriction.
dry_runNoValidate and report what would change, without changing anything.
transactionIdsNoThe staged transactions to remove, each by its `transactionId` from listStagedBankTransactions — not its `id`.
transaction_idsNoAlias of transactionIds.

Output Schema

NameRequiredDescriptionDefault
okYes
errorNo
resultNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / dryRun
      Added value: +{
      +  "description": "Alias of dry_run, as REST and GraphQL spell it.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / transactionIds
      Added value: +{
      +  "description": "The staged transactions to remove, each by its `transactionId` from listStagedBankTransactions — not its `id`.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "minItems": 1,
      +  "type": "array"
      +}
    • changedInput schema / properties / transaction_ids / description
      Previous value: -"The staged transactions to remove, each by its `transactionId` from listStagedBankTransactions — not its `id`."New value: +"Alias of transactionIds."
    • removedInput schema / required
      Removed value: -[
      -  "transaction_ids"
      -]
  2. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is known from structured data. The description adds the meaningful outcome that discarded transactions are 'never imported' (permanent exclusion), but the dry_run sentence largely repeats the schema's own dry_run description ('Validate and report what would change, without changing anything'). No mention of what happens to already-imported or unknown IDs.

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 sentences, zero filler, with the mutation outcome front-loaded before the dry-run note. Nothing to trim.

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?

An output schema exists, so return values needn't be explained, and the schema documents all five parameters including ledger scoping and aliases. The description covers purpose and preview mode; the only minor gap is guidance on where transaction IDs come from, which the schema already handles.

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%, including the important note that transactionIds must come from listStagedBankTransactions `transactionId` rather than `id`, and the ledger scoping default. The description adds nothing beyond dry_run, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Remove') and resource ('staged bank transactions') plus the consequence ('never imported'), which is more than a restatement of the name. It implicitly contrasts with importing, but never names the sibling importStagedBankTransactions or listStagedBankTransactions that an agent would need to distinguish it from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The mention of dry_run implies 'preview before committing,' which is useful implied usage. However, there is no explicit statement of when to choose this over importStagedBankTransactions or how to obtain the IDs, leaving the agent to infer the workflow.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.