Skip to main content
Glama
Discord MCP - Discord server management MCP for AI agents

Discord MCP - Discord server management MCP for AI agents

Update channel

update_channel

Edit a Discord channel's name, topic, slowmode, NSFW flag, category, voice bitrate, user limit, thread archive time, or forum defaults; only fields you pass change, and dry_run previews the update.

Instructions

Edit a channel's name, topic, slowmode, NSFW flag, or category, a voice channel's bitrate, user limit, region, and video quality, how long its threads stay open, and a forum's default reaction, sort, layout, post slowmode, and whether posts need a tag. Only passed fields change. Pass category "none" to move a channel out of its category. Supports dry_run.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "channel": "<channel>"
    },
    "name": "update_channel"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
nsfwNo
guildNoGuild (server) name or ID. Omit to use the default guild.
topicNo
regionNoVoice region id such as us-east or rotterdam, or automatic.
channelYesChannel name or ID.
dry_runNo
categoryNoCategory name or ID, or "none" to remove.
user_limitNoMost people at once, 0 for no limit. Up to 99 in voice, 10000 in stage.
require_tagNoForum: posts must carry at least one tag.
bitrate_kbpsNoVoice and stage audio quality in kbps. Up to 96 without boosts, 128, 256, and 384 at boost levels 1 to 3.
default_sortNoForum: how posts are ordered.
video_qualityNoCamera quality in voice channels: auto, or full (720p).
default_layoutNoForum: list or gallery view.
default_reactionNoForum: the emoji offered on every post, as a character or a custom emoji name; none to remove.
slowmode_secondsNo
post_slowmode_secondsNoForum: the slowmode each new post starts with.
thread_archive_minutesNoHow long new threads stay open without activity: 60, 1440 (a day), 4320, or 10080 (a week).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changedv1.4.2
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / bitrate_kbps
      Added value: +{
      +  "description": "Voice and stage audio quality in kbps. Up to 96 without boosts, 128, 256, and 384 at boost levels 1 to 3.",
      +  "maximum": 384,
      +  "minimum": 8,
      +  "type": "integer"
      +}
    • addedInput schema / properties / default_layout
      Added value: +{
      +  "description": "Forum: list or gallery view.",
      +  "enum": [
      +    "list",
      +    "gallery"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / default_reaction
      Added value: +{
      +  "description": "Forum: the emoji offered on every post, as a character or a custom emoji name; none to remove.",
      +  "maxLength": 64,
      +  "type": "string"
      +}
    • addedInput schema / properties / default_sort
      Added value: +{
      +  "description": "Forum: how posts are ordered.",
      +  "enum": [
      +    "latest_activity",
      +    "creation_date"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / post_slowmode_seconds
      Added value: +{
      +  "description": "Forum: the slowmode each new post starts with.",
      +  "maximum": 21600,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / region
      Added value: +{
      +  "description": "Voice region id such as us-east or rotterdam, or automatic.",
      +  "maxLength": 32,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / require_tag
      Added value: +{
      +  "description": "Forum: posts must carry at least one tag.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / thread_archive_minutes
      Added value: +{
      +  "description": "How long new threads stay open without activity: 60, 1440 (a day), 4320, or 10080 (a week).",
      +  "enum": [
      +    60,
      +    1440,
      +    4320,
      +    10080
      +  ],
      +  "type": "number"
      +}
    • addedInput schema / properties / user_limit
      Added value: +{
      +  "description": "Most people at once, 0 for no limit. Up to 99 in voice, 10000 in stage.",
      +  "maximum": 10000,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedInput schema / properties / video_quality
      Added value: +{
      +  "description": "Camera quality in voice channels: auto, or full (720p).",
      +  "enum": [
      +    "auto",
      +    "full"
      +  ],
      +  "type": "string"
      +}
  2. Changed1 schema field changedv1.3.0
    • removedInput schema / additionalProperties
      Removed value: -false
  3. First observedv1.0.2

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare readOnly=false and destructive=false, so the description has room to add real value and does: partial-update semantics, dry_run availability, and the sentinel value that clears a category. It omits permission requirements, what happens on invalid field/type combinations, and rate-limit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the action and scope, then two short sentences for the two highest-risk semantics (partial update and category removal). The long enumeration is dense but every clause maps to a real parameter group; nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 18-parameter mutation tool with no output schema and only partial annotation coverage, the definition covers field grouping and update semantics well. It leaves gaps an agent would want: whether fields are silently ignored when applied to the wrong channel type, and what a dry_run response contains.

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 72% with 18 params, and the description meaningfully exceeds the schema by grouping fields by channel type (voice bitrate/user_limit/region/video_quality, forum default_reaction/sort/layout/post_slowmode/require_tag), which the schema does not state anywhere. The remaining meaning (e.g. slowmode, thread archive choices) is already carried by schema 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?

Specific verb 'Edit' against a named resource ('channel') with the editable surface enumerated by channel type (text, voice, thread, forum). It is clearly distinguishable from siblings like update_thread, update_stage, or set_channel_permissions because it scopes itself to channel-level settings.

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 concrete operational guidance: 'Only passed fields change' (partial-update semantics) and 'Pass category "none" to move a channel out of its category', plus dry_run support. It stops short of naming alternatives or stating prerequisites (e.g. when to use this versus update_thread for thread settings), so no exclusions are covered.

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

Deploy Server

Other Tools