Skip to main content
Glama
LandonSchropp

ynab-mcp-server

Bulk Approve Transactions

ynab_bulk_approve_transactions
Idempotent

Approves multiple YNAB transactions in a single call to save time. Use it to mark several transactions as approved at once instead of one by one.

Instructions

Approves (or, with approved: false, un-approves) one or more transactions in a single API call.

Input Schema

NameRequiredDescriptionDefault
planIdNoThe plan ID (optional, defaults to YNAB_PLAN_ID; budgetId is a deprecated alias)
approvedNoWhether the transactions should be marked as approved (default true); false un-approves them
budgetIdNoDeprecated alias of planId (still accepted)
transactionIdsYesArray of transaction IDs to approve

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.1

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true, openWorldHint=true), so the description only needs to add context. It usefully discloses that approvals are reversible via approved: false, but says nothing about partial failures in a bulk call, the 500-item cap, or the API/rate-limit cost of a single batched request.

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?

One sentence, zero filler, and the most decision-relevant bit (the un-approve capability) is parenthetically front-loaded.

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?

No output schema exists, so the description should ideally say what a bulk call returns on success or partial failure. With annotations and full schema coverage the core call is answerable, but an agent writing a mutation over up to 500 IDs is left guessing about error semantics.

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% and every parameter (planId, budgetId alias, approved, transactionIds) is documented in the schema itself. The description only restates the approved:false behavior, adding no syntax or ordering information beyond the schema, which is the baseline-3 case.

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 (Approves / un-approves) and resource (one or more transactions) plus the key batching trait 'in a single API call'. That implicitly distinguishes it from the singular ynab_approve_transaction sibling, but it never names that sibling, so the differentiation is left to inference.

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?

There is no explicit 'use this when... use X instead when...' guidance. The bulk phrasing implies it should be preferred over ynab_approve_transaction for multiple IDs, but the agent has to derive that from 'one or more' rather than being told.

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