Discord MCP Server
Allows reading messages, discovering channels, sending messages, and monitoring Discord communities using the Discord HTTP API.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Discord MCP Server
A Model Context Protocol (MCP) server that lets LLMs read messages, discover channels, send messages, and monitor Discord communities using the Discord HTTP API.
Features
List Discord servers and channels you have access to
Read recent messages with time filtering (newest first)
Send messages to Discord channels (automatically splits long messages)
Send messages with file attachments
Read direct messages (1-on-1 and group DMs)
Token-based authentication (automatic extraction supported)
Fast API-based approach - no browser automation needed at runtime
Related MCP server: Discord MCP Server
Quick Start with Claude Code
# Add Discord MCP server (with token)
claude mcp add discord-mcp -s user -e DISCORD_TOKEN=your_token -- uvx --from git+https://github.com/waelsamy/discord-mcp.git discord-mcp
# Or with email/password (auto-extracts token on first use)
claude mcp add discord-mcp -s user -e DISCORD_EMAIL=your_email@example.com -e DISCORD_PASSWORD=your_password -- uvx --from git+https://github.com/waelsamy/discord-mcp.git discord-mcp
# Start Claude Code
claudeUsage Examples
# List your Discord servers
> use get_servers to show me all my Discord servers
# Read recent messages (max_messages is required)
> read the last 20 messages from channel ID 123 in server ID 456
# Send a message (long messages automatically split)
> send "Hello!" to channel 123 in server 456
# Send a message with attachment
> send a file /path/to/image.png to channel 123 in server 456
# List DM conversations
> show me my direct message conversations
# Read DMs from a user
> read the last 10 messages from my DM with johndoe123
# Monitor communities
> summarize discussions from the last 24 hours across my Discord serversAvailable Tools
get_servers- List all Discord servers you have access toget_channels(server_id)- List channels in a specific serverread_messages(server_id, channel_id, max_messages, hours_back?)- Read recent messages (newest first)send_message(server_id, channel_id, content)- Send messages to channels (automatically splits long messages)send_message_with_attachment(server_id, channel_id, content, file_path, filename?)- Send a message with a file attachmentget_dm_conversations()- List all direct message conversationsread_dm_messages(name, max_messages, hours_back?)- Read messages from a DM by username or display name
Manual Setup
Prerequisites
Python 3.10+ with
uvpackage managerDiscord token or account credentials
Installation
git clone https://github.com/waelsamy/discord-mcp.git
cd discord-mcp
uv sync
uv run playwright install # Only needed for token extractionConfiguration
Option 1: Using Discord Token (Recommended)
DISCORD_TOKEN=your_discord_token_hereTo extract your token, run:
uv run python get_token.pyOption 2: Using Email/Password
DISCORD_EMAIL=your_email@example.com
DISCORD_PASSWORD=your_passwordThe server will automatically extract and cache your token on first use.
Run Server
uv run python main.pyClaude Desktop Integration
Add to ~/.claude/claude_desktop_config.json:
{
"mcpServers": {
"discord": {
"command": "uvx",
"args": ["--from", "git+https://github.com/waelsamy/discord-mcp.git", "discord-mcp"],
"env": {
"DISCORD_TOKEN": "your_token_here"
}
}
}
}Or with email/password:
{
"mcpServers": {
"discord": {
"command": "uvx",
"args": ["--from", "git+https://github.com/waelsamy/discord-mcp.git", "discord-mcp"],
"env": {
"DISCORD_EMAIL": "your_email@example.com",
"DISCORD_PASSWORD": "your_password"
}
}
}
}Development
# Type checking
uv run pyright
# Formatting
uvx ruff format .
# Linting
uvx ruff check --fix --unsafe-fixes .
# Testing
uv run pytest -v tests/Security Notes
Token is cached securely at
~/.discord_mcp_tokenwith 0o600 permissionsNever commit your token or
.envfile to gitConsider using a dedicated Discord account for automation
Server includes delays to avoid rate limiting (0.5s between split messages)
If your token is exposed, change your Discord password to invalidate it
Troubleshooting
Token extraction fails: Run
uv run python get_token.pyinteractivelyMFA/2FA enabled: Use
get_token.pyto complete authentication manuallyRate limits: Reduce
max_messages, monitor for Discord warningsToken expired: Server automatically detects 401 errors; re-run token extraction if needed
Browser errors: Run
uv run playwright install --force
Legal Notice
Ensure compliance with Discord's Terms of Service. Only access information you would normally have access to as a user. Use for legitimate monitoring and research purposes.
Author
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Control your Discord community: send/read messages, manage channels and forums, and handle webhook…
Connect a Discord bot (bot token from the developer portal) to read/send messages, list guilds and c
Discord MCP server for ChatGPT, Claude and any AI agent: list servers and channels, read channel messages, search messages, send message, reply to message, send DM, read mentions and assign role in your own Discord account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Discord yourself; Cotlet does not store your password and you need no Discord API key. About the official Discord API: Yes, Discord has an official API for bots and OAuth2 apps, but it acts as a bot that a server manager adds, not as you, and Discord has no official MCP server for it (checked 5 Nov 2026). The MCP server on Discord's docs site only searches documentation. Setup and FAQ: https://cotlet.dev/integrations/discord-api-mcp-server
Build Discord communities with AI: roles, channels, modules, automations and reviewed announcements.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with Discord channels by sending and reading messages through Discord's API, with a focus on maintaining user control and security.14 npm245MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to send and read messages in Discord channels, manage servers, channels, and roles via Discord's API.14 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to read and write Discord messages, search content, and compute channel statistics via a Discord bot.MIT
- FlicenseAqualityDmaintenanceEnables LLMs to read messages, discover channels, send messages, and monitor Discord communities using web scraping without requiring bot permissions or API tokens.415-