Skip to main content
Glama

Add Alert Channel

add_alert_channel
DestructiveIdempotent

Add a Slack channel id to the authenticated customer's notification-channel list. ADMIN only. Idempotent — adding a channel id that is already configured is a no-op unless sources is given, in which case it overwrites the channel's sources. Returns the added channel as JSON; its id is the notification-channel registry UUID — pass this value (not channelId) into Fixter alert-rule routing (the channelIds parameter of save_alert_rule / set_alert_rule_delivery, served by a different service).

Input Schema

NameRequiredDescriptionDefault
sourcesNoNotification sources this channel should receive, e.g. ["alerting", "issues"]. Omit to keep the channel's current sources (all sources, including future ones, for a brand-new channel).
channelIdYesSlack channel id to add, e.g. C0123456789.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / $schema
      Added value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
  2. Changed1 schema field changed
    • addedInput schema / properties / sources
      Added value: +{
      +  "description": "Notification sources this channel should receive, e.g. [\"alerting\", \"issues\"]. Omit to keep the channel's current sources (all sources, including future ones, for a brand-new channel).",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  3. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=true; the description adds meaningful context beyond them — the ADMIN requirement, the nuance that a repeat add is a no-op unless `sources` is supplied (which overwrites existing sources), and the shape of the return. It does not spell out the full destructive scope, but it discloses the overwrite risk that justifies the destructive hint.

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?

Three dense sentences with no filler, and the core action plus permission gate are front-loaded. The final sentence is long and packs several clauses, but every clause carries operational information the agent needs.

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?

With no output schema, the description compensates by describing the JSON return and the significance of its `id`, plus auth, idempotency, and downstream consumption. Nothing needed to invoke the tool correctly is missing.

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 coverage is 100%, so the schema documents both parameters and the baseline would be 3. The description earns above baseline by flagging the critical distinction between the returned registry UUID `id` and the input `channelId`, warning the agent not to substitute one for the other downstream.

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 ('Add a Slack channel id to the authenticated customer's notification-channel list') and scopes it to the authenticated customer. It is clearly distinguishable from siblings like list_alert_channels and remove_alert_channel without opening a 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 the ADMIN-only precondition and explains the idempotent behavior, and it routes the agent onward by noting the returned UUID must be passed into save_alert_rule / set_alert_rule_delivery rather than channelId. It stops short of naming an explicit alternative or a when-not-to-use condition, so it is clear context rather than full routing guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources