Skip to main content
Glama

Deploy a Plan That Drops Data

deploy_destructive
Destructive

Deploy a plan that drops data, of a relational or a graph project. DESTRUCTIVE: the tables, fields, entities or relationships the plan drops lose their data. environment 'staging' deploys the saved schema, 'production' promotes staging. Use it only after a deploy tool (deploy_staging, deploy_production, deploy_graph_staging, deploy_graph_production) refused the plan, naming its drops, and those drops are intended. The operation is ASYNCHRONOUS: poll the returned job_id with get_job_status. One operation runs on a project at a time: while another runs, the call is refused and the refusal names the running job; wait for it with get_job_status, then call again. While RationalBloks is being updated, the call is refused with 'RationalBloks is being updated': call it again in a few minutes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYesProject ID (UUID), relational or graph
environmentYesstaging (deploys the saved schema) or production (promotes staging)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and idempotentHint=false, but the description goes well beyond them: it names exactly what loses data (tables, fields, entities, relationships), discloses async behavior with job_id polling via get_job_status, and documents both refusal modes (concurrent operation naming the running job, and RationalBloks maintenance). This is the burden-carrying detail an agent needs before an irreversible call.

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?

Front-loads the destructive warning and the intent condition, then handles async, concurrency, and maintenance in discrete, scannable statements. It is long, but nearly every clause carries an operational constraint; only the environment restatement duplicates the schema.

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?

With no output schema, the description still covers the return contract (poll job_id with get_job_status) and the failure paths. For a two-parameter destructive mutation tool, an agent has everything needed to decide, invoke, and follow up correctly.

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 100%, so both parameters are already documented in the schema. The description's restatement of the environment values (staging deploys the saved schema, production promotes staging) mirrors the schema text rather than adding new meaning, so the baseline 3 applies.

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 ('Deploy a plan that drops data') plus scope ('relational or a graph project'), and the title/description immediately distinguish it from the non-destructive deploy siblings. An agent can tell this apart from deploy_staging/deploy_production 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 when-to-use: only after a deploy tool (deploy_staging, deploy_production, deploy_graph_staging, deploy_graph_production) refused the plan, naming its drops, and those drops are intended. It also names the environment semantics and the concurrency/maintenance refusals to expect. Nothing is left to inference.

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.