Skip to content

channels_create_guild_channel

Category: channels

Create a new channel in a guild (text, voice, category, announcement, forum, etc.).

  • Programmatic guild bootstrap; tier-based channel provisioning.
  • Threads — use messages_create_thread, channels_forum_create_thread, or thread-specific tools.

Type values (from Discord API): 0 GUILD_TEXT, 2 GUILD_VOICE, 4 GUILD_CATEGORY, 5 GUILD_ANNOUNCEMENT, 13 GUILD_STAGE_VOICE, 14 GUILD_DIRECTORY, 15 GUILD_FORUM, 16 GUILD_MEDIA. Pick fields that match the type — extra fields are ignored by Discord.

FieldTypeRequiredDescription
guild_idstringyesTarget guild
namestringyesChannel name (1-100 chars)
typeintegernoDiscord channel type (omit for default GUILD_TEXT=0)
topicstringnoChannel topic (text/forum/announcement only)
bitrateintegernoVoice bitrate in bps (voice/stage)
user_limitintegernoVoice user cap (0 = no limit)
rate_limit_per_userintegernoSlowmode in seconds (0-21600)
positionintegernoSort position
permission_overwritesarraynoPermission overwrites to seed at creation
parent_idstringnoCategory to nest under
nsfwbooleannoMark as NSFW
rtc_regionstringnoVoice region override (voice/stage)
video_quality_modeunknownno1 AUTO, 2 FULL (voice/stage)
default_auto_archive_durationunknownnoDefault thread auto-archive (60/1440/4320/10080 minutes)
default_reaction_emojiobjectnoForum default reaction (emoji_id OR emoji_name)
available_tagsarraynoForum tag set
default_sort_orderunknownnoForum sort order (0 LATEST_ACTIVITY, 1 CREATION_DATE)
default_forum_layoutunknownnoForum layout (0 NOT_SET, 1 LIST_VIEW, 2 GALLERY_VIEW)
audit_reasonstringnoReason recorded in audit log (X-Audit-Log-Reason header)

\{id, name, type, parent_id\}.

FieldTypeRequiredDescription
idstringyesDiscord channel ID (snowflake)
namestringyes
typeintegeryes
parent_idunknownyes
PropertyValue
Read-onlyno
Destructiveno
Idempotentno
Open-worldyes
Confirmation requiredno

packages/mcp-core/src/tools/channels/create_guild_channel.ts