Skip to main content
Glama

redis_kill_client

Destructive

Disconnect a Redis client by client ID or IP:port to stop a stuck or unwanted connection; dry_run=True previews the irreversible action with no undo.

Instructions

[WRITE][risk=medium] Disconnect one redis client by id or addr. IRREVERSIBLE.

Captures the client's CLIENT LIST row as priorState (who/where/last command) before the kill — the connection cannot be restored, so no undo is recorded; most clients transparently reconnect. Pass dry_run=True to preview.

Refuses this tool's own connection, by id or by addr — including under dry_run, which must report a refusal rather than preview a call that will be refused.

Args: client_id: Client id from redis_clients (preferred). addr: Or the client's 'ip:port' address. dry_run: If True, preview without disconnecting. target: redis target name from config; omit for the default.

Input Schema

NameRequiredDescriptionDefault
addrNo
targetNo
dry_runNo
client_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only carry the generic safety profile (destructive, non-idempotent); the description goes well beyond by declaring irreversibility, that no undo entry is recorded, that priorState is captured from CLIENT LIST, and that most clients reconnect. The self-connection refusal rule, including its behavior under dry_run, is exactly the kind of edge case annotations cannot express.

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 leading [WRITE][risk=medium] tag and the IRREVERSIBLE warning are front-loaded, and the body is dense with decision-relevant facts rather than filler. The Args block partially restates the schema, but with 0% schema coverage that repetition is earned.

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 tool with no output schema and no annotation detail, the description covers irreversibility, prior-state capture, preview mode, and refusal semantics. It stops short of describing the shape of a successful response, but priorState is at least characterized.

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?

Schema description coverage is 0%, so the description must carry all parameter meaning and it does: it defines client_id (preferred, sourced from redis_clients), addr as 'ip:port', dry_run, and target as a config name defaulting to the default target. It does not state that at least one of client_id/addr must be supplied, a minor gap given all four params are optional with defaults.

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+resource (disconnect one redis client) and the two accepted identifiers (id or addr). It is clearly distinguishable from the read-only sibling redis_clients and from unrelated queue/policy tools.

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?

Tells the agent how to preview (dry_run=True), points to redis_clients as the source of client_id, and documents the refusal case including under dry_run. It lacks explicit when-not-to-use guidance relative to siblings such as undo_apply or connection_churn_analysis, but the operating context is clear.

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