Skip to main content
Glama
skitzo2000

Discord Notifications MCP Server

by skitzo2000

Discord Notifications MCP Server

MCP server that gives AI coding agents access to Discord: send notifications to multiple channels, create channels for new projects, and post questions (yes/no, multiple choice, extended answer) with optional two-way response.

Requirements

  • Python 3.10+

  • A Discord Bot: create an application, add a bot, copy the token. Invite the bot to your server with scopes: bot, permissions: Send Messages, View Channels, Manage Channels, Read Message History, Use Slash Commands (if needed). For questions with buttons, enable Message Content Intent in the Bot settings.

Config

Env / file

Purpose

DISCORD_BOT_TOKEN or DISCORD_TOKEN

Bot token (required).

DISCORD_GUILD_ID

Default guild ID for list_channels when guild_id is omitted.

DISCORD_CHANNELS

JSON map of channel keys → IDs, e.g. {"general": "123","alerts": "456"}.

DISCORD_MCP_CONFIG_DIR

Directory for channels.json (default: current dir).

channels.json

Same as DISCORD_CHANNELS: {"general": 123, "alerts": 456}.

Channel keys let agents use send_notification("general", "Done.") instead of raw channel IDs.

Install and run

cd mcp-discord-notify
pip install -r requirements.txt
export DISCORD_BOT_TOKEN=your_bot_token
# optional: export DISCORD_GUILD_ID=your_server_id
# optional: create channels.json or set DISCORD_CHANNELS
python main.py

The server runs over stdio (JSON-RPC). Configure your MCP client to run:

  • Command: python (or uv run python)

  • Args: ["/absolute/path/to/mcp-discord-notify/main.py"]

  • Env: DISCORD_BOT_TOKEN=... (and optionally DISCORD_GUILD_ID, DISCORD_CHANNELS)

Cursor

Add to MCP settings (or .cursor/mcp.json):

{
  "mcpServers": {
    "discord-notifications": {
      "command": "python",
      "args": ["/home/skitz0/Documents/claude-cord/mcp-discord-notify/main.py"],
      "env": {
        "DISCORD_BOT_TOKEN": "your_bot_token",
        "DISCORD_GUILD_ID": "your_guild_id"
      }
    }
  }
}

Use the real path to main.py and set the env vars (or rely on your shell env).

Tools

Tool

Description

list_channels

List channels in a guild (id, name, key if in config).

send_notification

Send a message to a channel (by ID or key).

create_channel

Create a text channel; optional register_key to save for future use by name.

send_question

Post a question with yes/no, multiple choice, or extended answer; optionally wait for first response.

Questions (two-way)

  • yes_no: Two buttons (Yes / No).

  • multiple_choice: Buttons per option; pass options as JSON array string, e.g. ["A","B","C"].

  • extended: "Reply" button opens a modal for long-form text.

Set wait_timeout_seconds (default 300); the tool returns the first response or timeout.

New project channels

Use create_channel with register_key so agents can target the channel by name. See the project skill: .cursor/skills/discord-notifications/SKILL.md.

-
security - not tested
F
license - not found
-
quality - not tested

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/skitzo2000/mcp-discord-notify'

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