list_destinations
List all notification destinations (channels) in the project: email, webhook, Slack, Discord, Telegram. Use channel IDs to configure routing rules for monitors.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
List all notification destinations (channels) in the project: email, webhook, Slack, Discord, Telegram. Use channel IDs to configure routing rules for monitors.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations mark destructiveHint=true and readOnlyHint=false, while the description only says 'List all notification destinations'. Listing is inherently non-destructive, so the description directly contradicts the annotations and fails to disclose the destructive behavior the annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with the core action and scope front-loaded. The second sentence adds practical follow-up value without unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool itself is simple with zero parameters and no output schema, the destructiveHint annotation creates a serious unresolved safety gap. The description needs to reconcile why a 'list' operation has destructive potential, or the annotations need correction.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with zero parameters, so there are no parameter semantics to clarify. The description's mention of channel IDs refers to output data rather than inputs, so the baseline of 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List'), a concrete resource ('notification destinations (channels)'), and an explicit scope ('in the project'), while enumerating the channel types. It clearly distinguishes this tool from the create/update/delete/test destination siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description frames a clear use case: enumerate all channels and obtain channel IDs for configuring monitor routing rules. It does not explicitly state exclusions or alternatives, but since it is the only listing tool in the destination family, the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Tools are organized by clear resource domains, and the long descriptions carefully separate similar reads. The main ambiguity is create_monitor's upsert behavior overlapping with update_monitor, and list_incidents vs list_open_incidents could be confused from names alone.
Almost every tool uses verb_noun snake_case with a consistent CRUD vocabulary like create_, list_, get_, update_, and delete_. Minor deviations exist: get_alert_templates is really a list operation, and discover_monitors_reconcile is an awkward verb-object-verb construction.
Thirty-six tools is a heavy surface for an agent to navigate, even for a full monitoring platform. Most tools are individually purposeful, but the count exceeds the range where an agent can quickly scan and select, and the set would be easier to handle if split across domains.
Coverage is strong: monitors, destinations, agents, status pages, API keys, routes, alert templates, incidents, run history, discovery, and Terraform export all have read and lifecycle operations. Minor gaps remain, such as no explicit single-incident view and no acknowledgment/resolution action beyond notes, but core workflows have no dead ends.