Skip to main content
Glama

local_ydb_remove_dynamic_nodes

Destructive

Remove per-suffix dynamic nodes one at a time and confirm each node disappears from the nodelist. Use plan mode to review commands and prevent unwanted drift.

Instructions

Remove dynamic tenant suffix nodes one at a time and verify nodelist disappearance when the node IC port can be resolved. Without containers, nodeIds, or startIndex, only one-off suffixes above profile.dynamicNodeCount are eligible and the highest suffix is removed first. Explicit selectors or startIndex may remove a configured suffix and create drift that bootstrap or restart restores. Rollback guidance uses bootstrap/restart for configured nodes and add_dynamic_nodes with matching suffixes and ports for one-off nodes. The primary dynamicContainer is always protected.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNoNumber of dynamic nodes to remove when containers and nodeIds are omitted. Defaults to 1.
confirmNoMust be true to execute planned commands. Omit or false for plan-only output.
nodeIdsNoExplicit YDB dynamic-node IDs to remove. IDs may resolve to configured or one-off suffix containers; the profile's primary dynamicContainer is not removable through this option.
profileNoNamed profile from local-ydb.config.json. Defaults to config.defaultProfile.
configPathNoExplicit local-ydb config file path to load for this tool call. Useful when the MCP server should pick up a different config without restart.
containersNoExplicit suffix dynamic-node container names to remove. Configured suffixes can be selected and become runtime drift; the profile's primary dynamicContainer remains protected.
startIndexNoMinimum suffix to consider removable. Without explicit containers or nodeIds, defaults to profile.dynamicNodeCount + 1 so configured suffixes are excluded. Explicit selectors default to 2. An explicit startIndex always overrides either default.
Behavior5/5

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

Beyond the destructiveHint annotation, the description discloses the one-at-a-time removal order, the nodelist verification condition, and the protection of the primary dynamicContainer. It also warns about drift from explicit selectors, adding meaningful behavioral context.

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?

The description is a single dense paragraph of five sentences, each carrying distinct information. It is front-loaded with the core purpose, but the density of edge cases might be easier to parse as bullets. Still, it is appropriately sized for the complexity.

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?

The description covers selection logic, ordering, rollback, and protection, which is complete for a destructive tool with 7 parameters and no output schema. It even mentions verification behavior and drift consequences, so agents know what to expect after invocation.

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?

Although the schema has 100% coverage, the description adds cross-parameter semantics: it explains how the absence of containers/nodeIds/startIndex determines eligible suffixes, and how startIndex overrides defaults. This adds meaning beyond individual param descriptions.

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 opens with 'Remove dynamic tenant suffix nodes one at a time' — a specific verb and resource, and the verification step distinguishes it from sibling tools like add_dynamic_nodes or start_dynamic_node. It clearly states the tool's removal scope.

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?

The description explains eligibility rules ('Without containers, nodeIds, or startIndex, only one-off suffixes above profile.dynamicNodeCount are eligible') and explicitly names rollback alternatives ('bootstrap/restart for configured nodes and add_dynamic_nodes'). This gives clear when-to-use and when-not-to-use guidance.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/astandrik/local-ydb-toolkit'

If you have feedback or need assistance with the MCP directory API, please join our Discord server