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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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