Skip to main content
Glama

Nika — Discord MCP Server

A comprehensive Model Context Protocol server that lets AI assistants run a Discord community: messaging, moderation, roles, channels, forums, webhooks, invites, scheduled events, AutoMod, onboarding, emojis/stickers, permission overwrites, voice management — 111 tools, plus a raw REST passthrough (discord_api_request) so anything the Discord API can do is reachable.

Built with Python + discord.py (persistent gateway connection) and FastMCP.


Setup

1. Create the Discord bot (done)

  • Application: Nika (ID 1538805149865091092)

  • Enabled intents: Server Members, Message Content

  • Token: stored in .env (never commit it — .gitignore protects it)

2. Invite the bot to your server

Open this URL and pick your server (grant Administrator for full functionality):

https://discord.com/api/oauth2/authorize?client_id=1538805149865091092&permissions=8&scope=bot%20applications.commands

⚠️ The bot must be in a server before most tools can do anything.

3. Install & configure

python -m venv .venv
.venv\Scripts\pip install -e ".[dev]"

.env (already created):

DISCORD_TOKEN=...            # bot token
DISCORD_GUILD_ID=            # optional: default server id → makes guildId optional everywhere
MCP_TRANSPORT=stdio          # stdio | http
HTTP_HOST=0.0.0.0            # HTTP mode only
HTTP_PORT=8085
LOG_LEVEL=INFO

Related MCP server: Cloud Discord

Usage

stdio (default — Claude Desktop, VS Code, Cursor, etc.)

.venv\Scripts\python -m discord_mcp

Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "nika": {
      "command": "d:\\Projects\\david\\DiscordMCP\\.venv\\Scripts\\python.exe",
      "args": ["-m", "discord_mcp"],
      "cwd": "d:\\Projects\\david\\DiscordMCP"
    }
  }
}

HTTP (streamable) — remote access, n8n, multi-client

.venv\Scripts\python -m discord_mcp --transport http --port 8085
# endpoint: http://localhost:8085/mcp

Client config:

{
  "mcpServers": {
    "nika": { "url": "http://localhost:8085/mcp" }
  }
}

Docker

docker compose up -d            # builds + runs HTTP mode on :8085
docker run -i --rm -e DISCORD_TOKEN=$env:DISCORD_TOKEN discord-mcp:latest   # stdio

Testing with the MCP Inspector

npx @modelcontextprotocol/inspector .venv\Scripts\python.exe -m discord_mcp

Tool reference (111 tools)

Area

Tools

Servers

list_servers, get_server_info, get_server_summary, modify_server, leave_server

Channels

list_channels, list_categories, find_channel, get_channel_info, create_text_channel, create_voice_channel, create_stage_channel, create_category, create_forum_channel, edit_channel, move_channel, clone_channel, delete_channel, create_thread, list_active_threads, list_channel_threads

Messages

send_message (embeds + files + reply), reply_to_message, edit_message, delete_message, bulk_delete_messages, read_messages (before/after/around), get_message, pin_message, unpin_message, list_pinned_messages, add_reaction, add_multiple_reactions, remove_reaction, clear_reactions

Members

get_member_info, find_user (by name/nick → ping), list_members, set_nickname, get_user_by_id

Roles

list_roles, create_role, edit_role, delete_role, assign_role, remove_role, get_user_roles

DMs

send_private_message, edit_private_message, delete_private_message, read_private_messages

Moderation

kick_member, ban_member, unban_member, get_bans, timeout_member, remove_timeout, prune_members (dry-run safe)

Voice

move_member, disconnect_member, modify_voice_state (mute/deafen/suppress), get_voice_channel_members, list_voice_channels

Events

create_scheduled_event, edit_scheduled_event, delete_scheduled_event, list_scheduled_events, get_scheduled_event, get_scheduled_event_users

Permissions

list_channel_permission_overwrites, upsert_role_channel_permissions, upsert_member_channel_permissions, delete_channel_permission_overwrite

Invites

create_invite, list_invites, delete_invite, get_invite_details

Webhooks

create_webhook, edit_webhook, delete_webhook, list_webhooks, send_webhook_message

Forums

list_forum_channels, get_forum_channel_info, list_forum_tags, add_forum_tag, edit_forum_tag, delete_forum_tag, create_forum_post, reply_to_forum_post, list_forum_posts, modify_forum_post, delete_forum_post

Emojis & Stickers

list_emojis, get_emoji_details, create_emoji, edit_emoji, delete_emoji, list_stickers, create_sticker, edit_sticker, delete_sticker

AutoMod

list_automod_rules, create_automod_rule (keywords/regex/presets/mention-spam), edit_automod_rule, delete_automod_rule

Onboarding & Audit

get_welcome_screen, modify_welcome_screen, get_onboarding, search_audit_log

Raw API

discord_api_request — any endpoint, any method (PUT/PATCH/DELETE need confirmDestructive=true), respects rate limits


Design notes

  • Hybrid gateway + REST: one persistent discord.py gateway connection provides live state (member/channel lookups, names→IDs) while mutations go through the same client. Tool calls bridge onto the gateway loop via asyncio.run_coroutine_threadsafe.

  • Safety: the raw tool requires confirmDestructive=true for mutating methods; prune_members defaults to a dry run; destructive tools accept a reason which is written to the audit log.

  • Optional guildId: set DISCORD_GUILD_ID in .env and every guildId parameter becomes optional.

  • Errors: Discord errors are converted to readable messages (e.g. Missing permissions: ...).

Limitations

  • Requires a bot token (user-token/self-bot automation violates Discord ToS).

  • Message reading requires the bot to see the channel and (for content) the Message Content intent.

  • No voice audio streaming/receiving.

Development

.venv\Scripts\python -m pytest        # 22 unit tests

Layout: discord_mcp/bot.py (gateway bridge) · discord_mcp/server.py (FastMCP) · discord_mcp/tools/*.py (one module per domain) · discord_mcp/utils/ (serializers, embeds).

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A Discord MCP server that enables AI assistants to interact with Discord platforms, providing functionalities like sending messages, managing channels, creating forum posts, and handling webhooks.
    21
    465
    1
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    An MCP server that gives AI agents full admin control over Discord servers with 59 tools for messaging, moderation, roles, channels, forums, reactions, files, and more, deployed on Cloudflare Workers.
    4
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Comprehensive Discord MCP server with 66 tools that provides rich message context including emoji reactions, thread indicators, and attachment metadata inline. Enables AI assistants to interact with Discord servers for messaging, moderation, roles, channels, and more.
    159
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A Discord MCP server that enables AI assistants to interact with the Discord platform, providing features like message sending, channel management, forum operations, reactions, and webhook management.
    22
    465
    MIT

View all related MCP servers

Related MCP Connectors

  • An MCP server that integrates with Discord to provide AI-powered features.

  • MCP server for Gainium — manage trading bots, deals, and balances via AI assistants

  • Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.

View all MCP Connectors

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

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