Skip to main content
Glama

finance

Transactions: Bulk delete transactions

bulk_delete_transactions
Destructive
    Delete multiple transactions at once with per-row rule-21 semantics.

    Each row gets the same treatment as a single-transaction delete:
    manual transactions are soft-deleted (balance reversed, restorable
    for 7 days); Plaid-originated transactions
    are hard-deleted (restoring them after Plaid has moved on creates
    ledger drift). Future-dated (unapplied) rows skip balance reversal.

    IDs that are missing or belong to another user are skipped and
    reported; those rows are left untouched.

    Args:
        transaction_ids: List of transaction IDs to delete (max 100)

    Returns:
        Per-id results with `undoable` flags, counts, and a note about
        the 7-day undo window for soft-deleted rows.
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
transaction_idsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Goes far beyond the annotations by disclosing the core behaviors: soft-delete with balance reversal and 7-day restorability for manual rows, hard-delete for Plaid rows and the drift rationale, skipped balance reversal for future-dated rows, and silent skipping/reporting of missing or foreign-user IDs. These are exactly the mutation consequences an agent needs and none contradict the destructive/non-idempotent hints.

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?

Front-loads the core action, then uses clear Args/Returns structure. The prose is slightly long but each sentence conveys a distinct rule; little is wasted.

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?

With no output schema, the description carries the return contract (per-id results, undoable flags, counts, 7-day undo note) and fully covers the destructive semantics, authorization edge cases, and edge-case row handling. Nothing essential to correct invocation 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 0% and the single array parameter carries no schema description, but the description supplies the crucial 'max 100' bound the schema omits and clarifies the parameter is a list of transaction IDs. That is real added meaning over an otherwise bare integer array.

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 and resource (delete multiple transactions) plus the operational scope ('at once'), which cleanly separates it from the single-row delete_transaction sibling. An agent can identify the tool's function 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 Guidelines3/5

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

The bulk/at-once framing implies when this tool applies, and the per-row semantics inform decisions, but it never names the alternative (delete_transaction for single rows, undo_transaction for recovery) or states when-not to use it. Usage is inferred rather than instructed.

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.

Resources