Skip to main content
Glama

renew_claim

Destructive

RENEWS your claim (the lease that claim_task returns to you) and DECLARES your progress. A claim lasts 15 minutes: without a renewal at least every 15 minutes, another agent MAY take over your task — this is intended: an agent that no longer maintains its task loses it. progressPct (integer 0-100, REQUIRED) is your progress, DECLARED and not measured: it can go down, and 100 completes NOTHING (completion goes through update_task({ status })). progressNote (at most 140 characters) says where you stand. keepAlive: true (for use by a watcher) extends WITHOUT a percentage, but only if your last declaration is less than 45 minutes old — otherwise PROGRESS_STALE and the lease expires. Response: { renewed: true, leaseUntil, leaseMinutes, progress } — or { renewed: false, code, message }: CLAIM_LOST (stale token, expired lease, task taken over or handed back: claim_task reclaims it) · PROGRESS_STALE · TASK_NOT_FOUND · WRITE_LOCKED (agent writes are locked on this block or this project). A refusal writes NOTHING. Writes only your claim: neither the task nor its history changes. The token is a SECRET that this tool does not return. A renewal counts toward the SYNC counter of your plan, separate from the counter of your useful calls (call batched with other tools: counted as an ordinary call).

Input Schema

NameRequiredDescriptionDefault
taskIdYesThe task you hold (claimed with `claim_task`).
keepAliveNoTrue = extends the lease WITHOUT declaring progress (neither `progressPct` nor `progressNote`) — for use by a watcher. Refused (`PROGRESS_STALE`) when your last declaration is too old: this is what forces you to maintain your task.
claimTokenYesThe token of YOUR claim, returned by `claim_task` (a SECRET that must not be copied into any text). A stale token = `CLAIM_LOST`.
progressPctNoYour DECLARED progress, an integer from 0 to 100 — REQUIRED (except with `keepAlive`). It can GO DOWN; 100 completes NOTHING: a task is finished through `update_task({ status })`. It is a declaration, not a measurement.
progressNoteNoOne sentence on where you stand (at most 140 characters). Optional.
expectedProjectIdNoUUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / claimToken / description
      Previous value: -"Le jeton de TA prise, rendu par `claim_task` (un SECRET : ne le recopie dans aucun texte). Un jeton périmé = `CLAIM_LOST`."New value: +"The token of YOUR claim, returned by `claim_task` (a SECRET that must not be copied into any text). A stale token = `CLAIM_LOST`."
    • changedInput schema / properties / expectedProjectId / description
      Previous value: -"UUID du projet visé par CET appel. Cible RÉELLEMENT ce projet au lieu du projet de session. Refusé sans rien modifier si l'accès n'est pas accordé."New value: +"UUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted."
    • changedInput schema / properties / keepAlive / description
      Previous value: -"Vrai = prolonge le bail SANS déclarer d’avancement (ni `progressPct`, ni `progressNote`) — l’usage d’un veilleur. Refusé (`PROGRESS_STALE`) quand ta dernière déclaration est trop ancienne : c’est ce qui t’oblige à maintenir ta tâche."New value: +"True = extends the lease WITHOUT declaring progress (neither `progressPct` nor `progressNote`) — for use by a watcher. Refused (`PROGRESS_STALE`) when your last declaration is too old: this is what forces you to maintain your task."
    • changedInput schema / properties / progressNote / description
      Previous value: -"Une phrase sur où tu en es (140 caractères au plus). Facultative."New value: +"One sentence on where you stand (at most 140 characters). Optional."
    • changedInput schema / properties / progressPct / description
      Previous value: -"Ton avancement DÉCLARÉ, entier de 0 à 100 — REQUIS (sauf `keepAlive`). Il peut BAISSER ; 100 n’achève RIEN : la fin d’une tâche passe par `update_task({ status })`. C’est une déclaration, jamais une mesure."New value: +"Your DECLARED progress, an integer from 0 to 100 — REQUIRED (except with `keepAlive`). It can GO DOWN; 100 completes NOTHING: a task is finished through `update_task({ status })`. It is a declaration, not a measurement."
    • changedInput schema / properties / taskId / description
      Previous value: -"La tâche que tu tiens (prise par `claim_task`)."New value: +"The task you hold (claimed with `claim_task`)."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false and destructiveHint=true; the description goes far beyond by disclosing the 15-minute lease, the takeover consequence, the PROGRESS_STALE / CLAIM_LOST / WRITE_LOCKED failure modes, that a refusal writes nothing, that only the claim is written, and that the token is a secret never returned. The one tension is destructiveHint=true against 'neither the task nor its history changes', but the loss-of-lease stake explains the conservative hint rather than contradicting it.

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?

Lifecycle and the progressPct caveat are front-loaded, and the response codes are packed efficiently. It is dense and slightly overlong — the plan SYNC-counter sentence is tangential to invoking the tool — but almost every clause carries operational value.

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?

For a mutation tool with six parameters, no output schema, and heavy failure-mode surface, the description supplies both success and refusal response shapes, the full error-code vocabulary, and the side-effect boundary. Nothing an agent needs to call it safely appears 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 coverage is 100%, so the baseline is 3, but the description adds genuine meaning: progressPct is declared not measured and may decrease, 100 completes nothing, keepAlive bypasses the percentage within a 45-minute staleness window, and the token is a secret. It does not mention `expectedProjectId` at all, which keeps it off 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 first sentence gives a specific verb and resource (renew the claim lease) and binds it to the sibling that produces the token (`claim_task`) plus the sibling that actually completes work (`update_task({ status })`). An agent can distinguish it from claim_task, update_task, and archive_task 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 Guidelines5/5

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

Explicit cadence rule (at least every 15 minutes or the task may be taken over), an explicit intended consequence, an explicit exception path (`keepAlive` for a watcher with its own 45-minute staleness limit), and explicit exclusions ('100 completes NOTHING — completion goes through update_task'). This is a full when/when-not/alternative statement.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.