Skip to main content
Glama

declare_queue

Destructive

Create a RabbitMQ queue and track if it already existed. Preview with dry_run; undo deletes only newly created queues.

Instructions

[WRITE][risk=medium] Declare (create) a rabbitmq queue; undo deletes it if new.

Records whether the queue already existed; the undo (delete) is recorded only for a newly-created queue. Also the replay target for delete_queue's undo. Pass dry_run=True to preview.

Args: vhost: The queue's vhost (the default vhost is '/'). name: Queue name to declare. durable: Survive broker restarts (default True). auto_delete: Delete when the last consumer disconnects (default False). arguments: Optional x-arguments (e.g. {'x-queue-type': 'quorum'}). dry_run: If True, preview without declaring. target: rabbitmq target name from config; omit for the default.

Input Schema

NameRequiredDescriptionDefault
nameYes
vhostYes
targetNo
dry_runNo
durableNo
argumentsNo
auto_deleteNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and idempotentHint=false, but the description adds real behavioral detail: the undo only deletes the queue if it was newly created, whether pre-existence is recorded, and that dry_run previews the effect. It still doesn't say what happens when a queue exists with conflicting arguments or what permissions are required.

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-loaded with the [WRITE][risk=medium] marker and the core action, followed by behavioral notes and an Args block where every line earns its place. Slightly dense, but nothing is filler.

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 mutating, undo-aware tool with no output schema, it covers creation, undo semantics, preview mode, and per-parameter meaning. The remaining gap is error/precondition behavior (queue already exists with different args) and permission requirements.

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

Parameters5/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 the load, and it documents all seven parameters with defaults (vhost default '/', durable True, auto_delete False), semantics, and an example value for arguments ('x-queue-type': 'quorum'). This fully compensates for the empty schema titles.

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 ('Declare (create) a rabbitmq queue') plus risk level, and the undo/replay-target sentences distinguish it from siblings like delete_queue, purge_queue and list_queues. An agent can route here 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 Guidelines4/5

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

Gives clear operational context: it is a write, dry_run=True previews, and it is the replay target for delete_queue's undo. It does not state exclusions (e.g., use list_queues/queue_detail to inspect rather than declare), so it stops short of full when/when-not guidance.

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