Skip to main content
Glama

Crow is an MCP (Model Context Protocol) server built on the @modelcontextprotocol/sdk. It gives AI agents first-class access to Discord: discovery, messaging, channels, invites, emojis, stickers, moderation, and arbitrary REST calls, through a small set of typed, consent-aware tools.

NOTE

Crow is no longer actively maintained: it remains functional as ofv1.3.1 and is frozen on Discord API v10 via discord.js 14.27.0. Installers, releases, and clones keep working, and forks are welcome.

Related MCP server: discord-mcp-server

What is Crow?

Crow is a single-purpose MCP server that bridges an AI agent and a Discord bot account. Configure it once with a bot userId and token, connect it to any MCP client, and the agent can discover the guilds, members, and channels it has access to, then read and send messages, manage channels, apply consent-gated moderation, and fall back to raw Discord REST calls for edge cases.

Crow is deliberately small and convention-driven. Each capability is a self-contained tool module registered through a single registry, so adding a Discord feature is a matter of writing one file and registering it.

Capabilities

  • Discovery: list guilds, members, channels, and bans so the agent can select its target.

  • Overview: get_guild_overview gives a one-call orientation of a guild (basics + boost info, channels grouped by category, and roles).

  • Notes: attach local, informational notes to users, roles, channels, messages, guilds, webhooks, and more, so context survives across agent sessions.

  • Messaging: read (with embeds, components, and attachments), send, edit, delete, pin, and bulk-delete messages.

  • Direct messages: list DM channels, send DMs, and read DM history with content, embeds, components, and attachments.

  • Embeds: build rich embeds with Discord's limits enforced.

  • Components: send messages with buttons, select menus, and Components V2 layout (containers, sections, text, media galleries, thumbnails, separators, files).

  • Channels: full control: text/voice/forum settings, threads, forum posts, and permission overwrites.

  • Guild config: set the guild name, description, and rules channel.

  • Roles: create, modify, and delete roles; assign and remove them from members.

  • Members: dedicated tools for timeouts, nicknames, and voice movement, plus role assignment.

  • Self: read and modify the bot's own profile (username, avatar, banner, bio) and its per-guild member profile (nickname, guild avatar/banner/bio).

  • Voice: read and modify stage-channel voice states (suppress, request-to-speak, and move between stage channels).

  • Reactions: add, remove, and list message reactions.

  • Audit: read the guild audit log.

  • Community: manage the welcome screen, onboarding, and membership screening.

  • Boost: read a guild's Server Boost level, boost count, and progress bar state.

  • Webhooks: create, manage, and execute webhooks.

  • Attachments: send files, images, and GIFs alongside messages.

  • Invites: list, create, inspect, and delete guild and channel invites.

  • Emojis: create, list, modify, and delete custom emojis.

  • Stickers: create, list, modify, and delete guild stickers, plus sticker packs.

  • Actions: register replies and modals for component interactions, and inspect the values users submit.

  • Gateway: crow gateway daemon receives interactions live and dispatches registered actions.

  • Moderation: kick and ban behind an explicit consent gate; list, unban, and count prunable members.

  • Automod: create, list, modify, and delete auto-moderation rules.

  • Scheduled events: create, list, modify, and delete guild scheduled events and list interested users.

  • Polls: attach polls to messages, list voters, and end polls.

  • Listening: wait_for_message blocks until a new message arrives in a channel.

  • Guardrails: block tools by name, category, raw REST route, or whole guild.

  • Raw REST: a generic Discord REST escape hatch for any endpoint the typed tools do not cover.

Destructive actions (kick_member, ban_member, delete_channel, delete_message, delete_webhook, delete_invite, delete_emoji, delete_sticker, delete_role, delete_automod_rule, delete_scheduled_event, bulk_delete_messages) require an explicit "confirm": true consent flag.

Every tool also declares MCP annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) plus human-readable titles and per-field descriptions, so clients can present and permission the tools safely.

Tools

Module

Tools

Health

ping

Discovery

list_guilds, get_guild, list_members, get_member, list_channels, get_channel

Overview

get_guild_overview

Messaging

read_messages, send_message, wait_for_message, edit_message, delete_message, pin_message, unpin_message, bulk_delete_messages

Direct messages

list_dm_channels, get_dm_channel, send_dm, read_dm_messages

Embeds

create_embed

Channels & threads

modify_channel, create_channel, delete_channel, list_active_threads, list_archived_threads, create_thread, modify_thread, edit_channel_permissions, delete_channel_permissions

Guild config

modify_guild

Roles

list_roles, create_role, modify_role, delete_role

Members

modify_member, timeout_member, remove_timeout_member, set_member_nickname, reset_member_nickname, disconnect_member_from_voice, move_member_to_voice, add_role_to_member, remove_role_from_member

Self

get_current_user, modify_current_user, modify_current_member

Voice

get_voice_state, modify_voice_state

Reactions

add_reaction, remove_own_reaction, remove_user_reaction, list_reactions

Audit

list_audit_log_entries

Community

get_welcome_screen, modify_welcome_screen, get_onboarding, modify_onboarding, get_member_verification, modify_member_verification

Boost

get_boost_info

Webhooks

list_webhooks, get_webhook, create_webhook, modify_webhook, delete_webhook, execute_webhook

Invites

list_guild_invites, list_channel_invites, get_invite, get_vanity_url, create_invite, delete_invite

Emojis

list_emojis, get_emoji, create_emoji, modify_emoji, delete_emoji

Stickers

list_stickers, get_sticker, list_sticker_packs, get_sticker_pack, create_sticker, modify_sticker, delete_sticker

Actions

register_action, list_actions, remove_action, list_recent_interactions

Notes

add_note, list_notes, remove_note, clear_notes

Moderation

list_bans, get_ban, kick_member, ban_member, unban_member, get_prune_count

Polls

get_poll_answer_voters, end_poll

Automod

list_automod_rules, get_automod_rule, create_automod_rule, modify_automod_rule, delete_automod_rule

Scheduled events

list_scheduled_events, get_scheduled_event, create_scheduled_event, modify_scheduled_event, delete_scheduled_event, get_scheduled_event_users

Raw

discord_request

See docs/tools.md for the full reference, the selection pipeline, and the consent model.

Quick Start

Install with one command, which clones the repo, builds it, links the crow command onto your PATH, and drops you into the setup wizard:

curl -fsSL https://raw.githubusercontent.com/Hydr46605/Crow/main/install.sh | sh

Windows (PowerShell):

irm https://raw.githubusercontent.com/Hydr46605/Crow/main/install.ps1 | iex

Windows (cmd.exe):

curl -o install.bat https://raw.githubusercontent.com/Hydr46605/Crow/main/install.bat && install.bat

The wizard asks for your bot token, detects the bot user ID, verifies the token against Discord, and checks that the privileged intents Crow needs (GUILD_MEMBERS, MESSAGE_CONTENT) are enabled, prompting you to fix and re-check them if they are not.

Command line

Crow ships a single crow command:

Command

What it does

crow / crow serve

Run the MCP server over stdio.

crow setup

Interactive setup wizard (token → user ID → intent check → save).

crow doctor

Check the bot token and privileged intents.

crow gateway

Run the always-on interaction gateway daemon.

crow --version

Print the version.

crow --help

Show help.

Credentials live in ~/.crow/.env (owner-readable) and are loaded automatically, so an MCP client config is just:

{
  "mcpServers": {
    "crow": {
      "command": "crow"
    }
  }
}

Prefer inline credentials? You can still set CROW_BOT_TOKEN and CROW_BOT_USER_ID in the client's env block instead.

Build from source

git clone https://github.com/Hydr46605/Crow.git
cd Crow
npm install
npm run build
npm start

Compatibility

  • Node.js >= 22 (CI runs against 22 and 24).

  • ESM-only.

  • Discord API v10 via discord.js.

  • Distributed via GitHub (not npm); install with the scripts above.

  • Maintenance: the repository is archived at v1.3.1 and receives no further updates.

License

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A Discord MCP server that gives AI agents full control of a Discord bot — messages, channels, roles, threads, forums, events, webhooks, reactions, moderation, image generation, and real-time voice.
    74
    6
    MIT
  • F
    license
    C
    quality
    C
    maintenance
    An MCP server that exposes Discord bot actions as tools for LLM clients.
    29
    1
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Hydr46605/Crow'

If you have feedback or need assistance with the MCP directory API, please join our Discord server