Skip to main content
Glama

co.build

Withdraw your installation report

withdraw_installation_report
DestructiveIdempotent

After the user explicitly asks to withdraw this report, remove its public feedback and installation count and cancel pending email follow-ups. Requires ownership. The withdrawn text is not restored; the user can later approve a new report for the same device, which is posted as a new comment.

Input Schema

NameRequiredDescriptionDefault
approvedYes
reportIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already flag destructiveHint and idempotentHint, but the description goes well beyond them: it states exactly which artifacts are destroyed, that the withdrawn text is not restored, and that a later re-approval surfaces as a brand-new comment rather than reviving the old one. That irreversibility and identity-change detail is the kind of context annotations cannot carry.

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?

Three sentences, front-loaded with the trigger condition, then effects, then consequences. No filler, no restating of the title beyond what the effects require.

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?

For a destructive mutation with no output schema and zero param documentation, this is close to complete: destruction scope, irreversibility, ownership, and follow-up handling are all covered. The remaining gap is post-call state — whether the report ID becomes unusable and what the tool returns — plus the untouched parameter semantics.

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 description coverage is 0%, so the description carries the burden — and it only partly does. The prose 'After the user explicitly asks' and 'Requires ownership' loosely conveys the confirmation intent behind the const-true `approved` flag, but neither parameter is named, and the meaning of the required `reportId` (which report, and how to obtain it) is never addressed.

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 names a specific verb (withdraw/remove) and resource (the installation report), then enumerates the concrete effects: public feedback removed, installation count removed, pending email follow-ups cancelled. It is clearly distinguishable from sibling tools such as cancel_installation_followup, which only touches follow-ups, and from prepare_/publish_installation_report.

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?

It gives an explicit gating condition ('After the user explicitly asks to withdraw this report') plus a prerequisite ('Requires ownership') and a forward path (approve a new report later). What it lacks is a direct pointer to the closest alternative — a sibling exists purely to cancel follow-ups without withdrawing, and that routing is left implicit.

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.

Resources