Skip to main content
Glama

Correct fields of an application

edit_application
Destructive

Correct fields in a job-application tracker row—wrong or missing dates, company, role, stage, link, or custom values—with validation, preview, confirmation, backup, and undo.

Instructions

Correct fields of one row by hand: a wrong or missing date, a typo in the company or role, the furthest stage, the link, a custom column. Dates are checked (a submit or reply date cannot be in the future, a reply cannot come before the submit) and written as dates. The status is changed with set_status, a sent follow-up recorded with log_followup, a moved one with reschedule_followup: they keep the related columns in step. The preview shows the old and new value of each cell.

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
rowYesSheet row number of the application (see list/get results)
fieldsYesField name (see describe_tracker) -> new value; null clears the cell. Dates as YYYY-MM-DD
reasonYesWhy, in a few words ("from the rejection e-mail of 02.10"); goes to the notes with what changed
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.9/5.0
Behavior5/5

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

Annotations already declare a destructive, non-idempotent write, and the description adds substantial context beyond them: user confirmation is required, a dry_run/confirm token flow is specified, expected_version guards against concurrent changes, a backup is taken first, and undo_last_write can revert the write. These details are consistent with the annotations and materially improve safe invocation.

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?

The description is front-loaded with the purpose and correction examples, then moves into validation, alternatives, and the confirmation workflow. Despite its length, every sentence carries necessary operational detail for a destructive write tool, with no redundant or filler text.

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?

Given the destructive mutation, six parameters, nested fields object, and existing output schema, the description covers everything an agent needs: what can be corrected, which siblings handle related changes, how to preview and confirm writes, how concurrency is guarded, and how undo works. No critical behavioral or procedural gap remains.

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 schema already documents each parameter. The description adds useful semantic detail beyond the schema, particularly date validation rules: a submit or reply date cannot be in the future and a reply cannot precede the submit date. It also clarifies that related status and follow-up changes belong to other tools.

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 description states a specific verb and resource: 'Correct fields of one row by hand' with concrete examples such as a wrong date, typo in company or role, furthest stage, link, or custom column. It also distinguishes the tool from siblings by explicitly routing status changes to set_status and follow-up changes to log_followup or reschedule_followup.

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?

It gives clear conditions for use (manual corrections to specific fields) and explicitly names alternatives for related operations: set_status for status, log_followup for sent follow-ups, and reschedule_followup for moved follow-ups. The confirmation workflow further clarifies the required invocation sequence with dry_run and confirm.

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