Skip to main content
Glama

Close stale applications

close_stale
Destructive

Close stale job applications in one confirmed write by marking them no-response, clearing follow-up dates, and logging the action, with backup and undo.

Instructions

Close stale applications in one write: the no-response status, no follow-up date, a line in the follow-up log. One backup and one undo step for the whole batch.

The tool writes only with the user's yes. The client may ask in its own confirmation dialog. Otherwise call with dry_run=true, show the preview to the user, and after they agree in a new message repeat the same call with confirm=. The write is refused if the tracker changed since expected_version. A backup is taken first, and undo_last_write reverts the write.

Input Schema

NameRequiredDescriptionDefault
daysNoSubmitted at least this many days ago
rowsNoOnly these rows (each must be stale); default: all from stale_applications
confirmNoToken from the dry run the user approved. Not needed when the client shows the server's confirmation dialog
dry_runNoOnly show what would change, plus the confirm token; write nothing
expected_versionNo`version` from your last read; the write is refused if the file changed since

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.1

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds substantial context beyond them: a backup is taken first, one undo step reverts the whole batch, and the write is refused if expected_version no longer matches. This is exactly the safety and concurrency information an agent needs before invoking a destructive batch mutation.

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?

Content is front-loaded, with the mutation summary first and the confirmation protocol second, and no sentence is filler. The confirmation paragraph is a dense multi-clause sentence, slightly reducing scannability, but the density is justified by the safety-critical content.

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 an output schema present and rich annotations, the description only needs to cover invocation protocol and risk, both of which it does thoroughly — including the client-dialog vs. token path and the backup/undo guarantee. Nothing required to call this destructive batch tool 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 description coverage is 100%, so the baseline is 3; the description earns extra credit by explaining the sequencing between dry_run and confirm (token obtained from the approved dry run) and the refusal semantics of expected_version. It does not elaborate on formatting of the token or partial-failure behavior across rows, keeping it below a 5.

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 opening states a specific verb and resource ('Close stale applications in one write') and enumerates the exact fields mutated (status, follow-up date, log entry), which separates it cleanly from the sibling stale_applications read tool. An agent can identify the operation 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 Guidelines5/5

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

The description gives an explicit conditional workflow: if the client provides its own confirmation dialog, proceed; otherwise call with dry_run=true, show the preview, and repeat with confirm=<token> after approval in a new message. It also names undo_last_write as the recovery path and states the rows parameter defaults to the stale_applications set.

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