Flag bank transaction
flag_bank_transactionFlag a bank transaction for treasury review.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| bank_transaction_id | Yes |
flag_bank_transactionFlag a bank transaction for treasury review.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | ||
| bank_transaction_id | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, so the agent knows this mutates state, but the description adds nothing about what flagging changes, whether it can be undone, or who sees the flag. For a destructive write with annotation coverage already thin on specifics, the description should say more than 'flag for review'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, which is structurally sound. However, its brevity is under-specification rather than discipline — it omits information the agent needs, so it is not efficient in the sense of covering the task.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a destructive, non-read-only mutation with two undocumented parameters and no output schema. The description omits the effect of the flag, reversibility, and any permission or workflow context, leaving the agent to guess at the tool's consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not compensate: it never explains what the 'reason' should contain, whether it is free text or a coded value, or what the transaction ID format is. The parameter names are self-explanatory enough to avoid a 1, but no added meaning is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Flag') and resource ('bank transaction') plus the downstream purpose ('for treasury review'), which separates it from get_bank_transaction and match_bank_transaction. It stops short of naming any sibling or contrasting behavior explicitly, so it is clear but not differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to flag versus escalating (escalate_exception) or disputing, no prerequisites, and no indication of what happens after flagging. The 'for treasury review' phrase implies a workflow but never states the trigger conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.