Skip to main content
Glama

plan_zero_downtime_migration

Plan zero-downtime migrations by transforming blocking DDL statements into a safe Multi-Phase Expand & Contract runbook for large production tables.

Instructions

Transform blocking or hazardous DDL statements into a safe Multi-Phase Expand & Contract zero-downtime migration runbook for large production tables.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "dialect": "<dialect>",
      "ddl_statements": "<ddl_statements>"
    },
    "name": "plan_zero_downtime_migration"
  }
}

Input Schema

NameRequiredDescriptionDefault
dialectYes
ddl_statementsYes
engine_versionNolatest
estimated_table_rowsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description must carry the full load; it does establish the key behavioral fact that this produces a runbook rather than executing DDL. However, it says nothing about failure modes (unparseable/unsupported DDL), assumptions such as the large-table default, dialect limitations, or whether any statement runs against a database.

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?

A single front-loaded sentence with no filler, and the scope qualifier ('large production tables') comes before the mechanism. It is tightly sized, though the jargon-heavy 'Multi-Phase Expand & Contract' naming carries a lot of unexplained weight.

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

Completeness2/5

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

For a 4-parameter tool with zero schema descriptions, no annotations, and no output schema, the agent is left without any explanation of parameter meaning or return shape. The description covers the conceptual intent well but omits what is needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 4 parameters, so the description must compensate. It only loosely gestures at ddl_statements ('DDL statements') and estimated_table_rows ('large production tables'), and never mentions dialect (the one enum-constrained parameter) or engine_version.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (transform) and a concrete resource (DDL statements -> Multi-Phase Expand & Contract runbook), which is clearly distinct from sibling analysis tools like analyze_migration. It stops short of explicitly naming or contrasting those siblings, so the differentiation is inferable rather than stated.

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

Usage Guidelines3/5

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

'Blocking or hazardous DDL statements' and 'large production tables' imply the triggering context, but there is no explicit when-to-use/when-not-to-use or direction to alternatives such as analyze_migration. The agent must infer routing from the phrasing alone.

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