Skip to main content
Glama

propose_rewrite

Draft a sentence replacement and validate its LaTeX, citation keys, and language before anything is written to the manuscript.

Instructions

Propose a replacement for one sentence. Validates LaTeX (braces, $, special chars), citation keys (none lost, all new ones in the .bib) and language. Nothing is written until apply_rewrite.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteNoWhy (e.g. 'match the hedging of the source').
claim_idYes
languageNoTarget language. Default: manuscript language.
new_textYesReplacement for the whole sentence, in the manuscript's markup (LaTeX: keep \cite commands, ~, macros).
allow_citation_changesNoAllow removing/adding citation keys (e.g. to cite the original source).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose meaningful behavior: validation of LaTeX constructs, citation-key preservation, and .bib membership, plus the fact that nothing is persisted until apply_rewrite. It omits what happens on validation failure (rejected vs. returned with warnings) and whether the proposal is stored and retrievable, which are the remaining behavioral gaps for a mutation-adjacent tool.

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?

Two sentences, zero filler, and the scope constraint is front-loaded before the validation contract and the deferral note. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must cover returns and it partially does by framing this as a non-persisting proposal gated behind apply_rewrite. It is nearly complete for a 5-parameter tool, with only failure semantics and proposal lifecycle left unstated.

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 coverage is 80% and the schema already documents note, language, new_text and allow_citation_changes, so the baseline is 3. The description's citation rule ("none lost, all new ones in the .bib") gives useful context for why allow_citation_changes exists, but it adds no syntax, format or default details beyond what the schema supplies.

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+resource with bounded scope ("Propose a replacement for one sentence") and explicitly names the sibling apply_rewrite as the separate commit step. An agent can distinguish this from apply_rewrite, revert_rewrite and propose_insertion without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

The phrase "Nothing is written until apply_rewrite" clearly establishes the propose-then-apply workflow and implicitly tells the agent when this tool (not apply_rewrite) is the right call. It does not, however, contrast with the adjacent sibling propose_insertion or state when a rewrite is appropriate versus an insertion.

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