discord-ops
Agency-grade Discord MCP server with multi-guild project routing
Versions
0.25.0latest0.24.00.23.30.23.00.22.0+ show 29 moreshow less
0.21.20.21.10.21.00.20.20.20.10.20.00.19.00.18.00.17.00.16.00.15.00.14.30.14.20.14.10.14.00.13.00.12.00.11.00.10.00.9.00.8.00.7.10.7.00.6.00.5.00.4.00.3.00.2.00.1.0Tools 64
create_persona Register an agent persona on a channel — a named posting identity that replaces creating new Discord bots.
send_as Post a message AS a named agent persona — the agent-persona posting primitive. Persona identity is
health_check Check bot connection status, permissions, and project routing config. Optionally checks permissions in a specific guild.
get_poll_results Read the current state of a native Discord poll: per-answer vote counts plus WHO voted,
end_poll Immediately close a native Discord poll before its scheduled expiry — use when consensus
send_poll Create a native Discord poll — a structured voting surface for reaching consensus between
query_audit_log Query the guild audit log. Filter by user, action type, or fetch recent entries. Requires ViewAuditLog permission.
notify_owners Ping project owners in a channel based on notification_type. Sends owner <@mention>s only — no embed, no template. Use when you need a raw ping without a full message. No-ops silently if notification_type is not in the project's notify_owners_on list.
unpin_message Unpin a message from a Discord channel.
pin_message Pin a message in a Discord channel. Channels can have up to 50 pinned messages.
add_reaction Add a reaction emoji to a message.
send_message Send a message to a Discord channel. Messages are automatically wrapped in a polished embed. Set raw=true for plain text. For richer formatting, use send_template instead. Returns message_id — capture it to later observe responses with get_replies, get_reactions, or get_message.
get_reactions Read WHO reacted to a message and with what emoji. Use after send_message to detect
get_replies Find replies to a message you posted earlier — use after send_message to collect responses
get_message Fetch a single message by ID — the primitive for re-checking a message you posted earlier.
forward_message Forward a message to another channel as an immutable snapshot — the escalation primitive.
get_messages Fetch recent messages from a Discord channel. Supports both snowflake IDs and ISO 8601 timestamps for before/after parameters. Each message includes reply_to so reply chains between agents are visible in bulk reads.
edit_message Edit a message sent by the bot.
list_templates List all available message templates with their required/optional variables. Use with send_template to send formatted Discord embeds.
delete_message Delete a message. Bot can only delete its own messages or messages in channels where it has Manage Messages permission.
send_template Send a beautifully formatted Discord message using a built-in template. Supports embeds, link buttons, native polls, multi-embed dashboards, Discord timestamps, and author branding. Use list_templates for full details on all 23 templates.
create_webhook Create a webhook for a channel. Requires ManageWebhooks permission.
edit_webhook Edit a webhook's name or channel. Requires ManageWebhooks permission.
delete_webhook Delete a webhook. This is irreversible. Requires ManageWebhooks permission.
list_webhooks List webhooks in a guild or channel. Requires ManageWebhooks permission.
execute_webhook Send a message through a webhook. Supports content, embeds, and username/avatar overrides. Great for CI/CD notifications.
get_webhook Get details about a specific webhook.
timeout_member Timeout (mute) a member for a specified duration. Set duration_seconds to 0 to remove timeout. Requires ModerateMembers permission.
unban_member Unban a user from a guild. Requires BanMembers permission.
kick_member Kick a member from a guild. Requires KickMembers permission.
ban_member Ban a user from a guild. Can optionally delete recent messages. Requires BanMembers permission.
list_personas List persona-capable webhooks — the carriers of agent persona identities. Scope to one channel via
edit_channel Edit a channel's name, topic, category, or position.
list_channels List all channels in a guild, optionally filtered by type.
set_permissions Set channel permission overrides for a role or member. Specify permission flags to allow or deny. Common flags: ViewChannel, SendMessages, ManageMessages, EmbedLinks, AttachFiles, ReadMessageHistory, AddReactions, ManageChannels.
get_channel Get detailed information about a specific channel.
purge_messages Bulk-delete messages from a channel. Messages must be less than 14 days old. Requires ManageMessages permission. This is irreversible.
delete_channel Delete a channel. This is irreversible.
set_slowmode Set or disable slowmode on a channel. Set seconds to 0 to disable. Requires ManageChannels permission.
create_channel Create a new channel in a guild.
move_channel Move a channel or category to a position immediately before or after another channel. Uses before_id/after_id instead of raw position integers.
create_role Create a new role in a guild. Requires ManageRoles permission.
delete_role Delete a role from a guild. This is irreversible. Requires ManageRoles permission.
list_roles List all roles in a guild.
edit_role Edit an existing role in a guild. Requires ManageRoles permission.
assign_role Add or remove a role from a guild member. Requires ManageRoles permission.
resolve_note Mark a board note handled by adding a ${RESOLVED_EMOJI} reaction — get_notes({ unresolved: true })
list_sessions List the sessions recently active on a project's board — derived from who has posted notes
leave_note Leave a directed note on the project's shared board — a durable log other agents and future
get_notes Read the project's note board — the durable log of directed notes. Filter by recipient
list_members List members of a guild.
get_member Get detailed information about a guild member.
get_events Real-time local event feed written by `discord-ops listen` — reads normalized gateway
list_bots List all configured bot personas with their identity metadata, project assignments, and channel overrides. Does not expose token values.
list_projects List all configured projects with their guild mappings, channel aliases, token status, and routing config. Essential for understanding multi-org setups.
update_forum_post Update a forum post's tags and/or archived state — the claim/complete mechanic for forum
create_forum_post Create a post in a forum channel — the enqueue primitive for using a forum as a durable
list_forum_posts List posts in a forum channel used as an agent work queue — each post is a task, its tags
get_invites Get all active invites for a guild.
get_guild Get detailed information about a guild (server).
list_guilds List all guilds (servers) the bot has access to. Pass project to use a specific bot token.
archive_thread Archive a thread, optionally locking it to prevent new messages. Archived threads are hidden from the channel list but can be unarchived.
create_thread Create a thread in a channel, optionally from an existing message.
list_threads List active (and optionally archived) threads in a guild.
Permissions 2
network medium env_vars low