Skip to main content
Glama

Delete service

service_delete
Destructive

Permanently delete a Lizard service (app or addon) when removal is intended. This destructive action cannot be undone and requires explicit confirmation.

Instructions

Use this when the user wants to permanently delete a Lizard service (app or addon). This is destructive and cannot be undone — requires explicit confirmation.

Input Schema

NameRequiredDescriptionDefault
confirmYesMust be true to proceed; there is no interactive confirmation in MCP
projectYes
serviceYes

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?

The annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is structured. The description still adds real value by spelling out irreversibility ('cannot be undone') and that explicit confirmation is required, which tells the agent a precondition beyond the hint flags. It stops short of saying what is destroyed (volumes, domains, deploys) or whether the delete is immediate vs queued.

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?

A single, front-loaded sentence with the use condition first and the danger warning second; no filler and nothing redundant.

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 3-parameter destructive tool with no output schema, the description covers the essential preconditions (permanence, confirmation). Minor gaps remain around identifier format for project/service and what collateral resources disappear, but nothing that would cause a wrong invocation.

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 only 33%: only 'confirm' is documented in the schema, while 'project' and 'service' are bare minLength-1 strings. The description hints at the confirmation requirement but never clarifies that 'project' and 'service' are identifiers/names or how to obtain them (e.g. from service_list or service_show). Partial compensation, not full.

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 and resource: 'permanently delete a Lizard service (app or addon)'. The word 'permanently' and the explicit '(app or addon)' scope distinguish it from the many soft-state siblings like service_pause, service_resume, service_sleep_set, and service_scale.

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?

Gives a clear triggering condition ('Use this when the user wants to permanently delete...'), which is a strong positive-selection cue. It does not explicitly name the non-destructive alternatives (service_pause / service_sleep_set), so an agent must infer that those are the right tools when the user only wants to stop a service.

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