@striderlabs/mcp-discord
Allows AI assistants to interact with Discord servers and channels, including listing servers/channels, fetching and searching messages, sending messages, and managing direct messages via the Discord API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@striderlabs/mcp-discordshow me recent messages in the #general channel"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@striderlabs/mcp-discord
An MCP (Model Context Protocol) server for Discord, enabling AI assistants like Claude to interact with Discord servers and channels via the Discord API.
Prerequisites
You need a Discord Bot Token. This connector uses the Discord.js library to communicate with Discord's official API — not browser automation.
Creating a Discord Bot
Go to the Discord Developer Portal
Click New Application and give it a name
Go to the Bot section and click Add Bot
Under Token, click Reset Token and copy the token
Under Privileged Gateway Intents, enable:
Server Members Intent
Message Content Intent
Go to OAuth2 > URL Generator, select scopes:
botSelect bot permissions:
Read Messages/View Channels,Send Messages,Read Message HistoryUse the generated URL to invite the bot to your server(s)
Related MCP server: Discord MCP Server
Installation
npm install @striderlabs/mcp-discordConfiguration
Set the DISCORD_TOKEN environment variable to your bot token:
export DISCORD_TOKEN=your_bot_token_hereUsage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"discord": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-discord"],
"env": {
"DISCORD_TOKEN": "your_bot_token_here"
}
}
}
}Available Tools
get_servers
List all Discord servers (guilds) the bot is a member of.
No parameters required.
get_channels
List channels in a Discord server.
Parameter | Type | Required | Description |
| string | Yes | Discord server (guild) ID |
| string | No | Filter: |
get_messages
Fetch recent messages from a channel.
Parameter | Type | Required | Description |
| string | Yes | Discord channel ID |
| number | No | Number of messages to fetch (1–100, default: 50) |
| string | No | Fetch messages before this ID (pagination) |
send_message
Send a message to a Discord channel.
Parameter | Type | Required | Description |
| string | Yes | Discord channel ID |
| string | Yes | Message text to send |
| string | No | Reply to a specific message ID |
get_dms
Get direct message conversations the bot has had.
Parameter | Type | Required | Description |
| number | No | Messages per conversation (1–50, default: 20) |
Note: DMs are only available after the bot has received at least one DM from a user.
search_messages
Search for messages containing specific text within a server.
Parameter | Type | Required | Description |
| string | Yes | Discord server ID |
| string | Yes | Text to search for |
| string | No | Limit search to a specific channel |
| number | No | Max results (1–100, default: 25) |
Note: Search scans recent messages (up to 100 per channel). For historical search, use Discord's built-in search.
Getting Channel and Server IDs
Enable Developer Mode in Discord (Settings > Advanced > Developer Mode), then right-click any server or channel to copy its ID.
License
MIT
Available Tools
6 toolsget_channelsA
List all channels in a Discord server
| Name | Required | Description | Default |
|---|---|---|---|
| server_id | Yes | The Discord server (guild) ID | |
| channel_type | No | Filter by channel type (default: text) |
get_dmsB
Get recent direct message conversations the bot has had
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of messages to fetch per conversation (1-50, default: 20) |
get_messagesC
Get recent messages from a Discord channel
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of messages to fetch (1-100, default: 50) | |
| channel_id | Yes | The Discord channel ID | |
| before_message_id | No | Fetch messages before this message ID (for pagination) |
get_serversA
List all Discord servers (guilds) the bot is a member of
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
search_messagesA
Search for messages containing specific text in a server's channels
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return (1-100, default: 25) | |
| query | Yes | Text to search for in messages | |
| server_id | Yes | The Discord server (guild) ID to search in | |
| channel_id | No | Optional: limit search to a specific channel |
send_messageB
Send a message to a Discord channel
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The message content to send | |
| channel_id | Yes | The Discord channel ID to send the message to | |
| reply_to_message_id | No | Optional: message ID to reply to |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v1.0.0- First observed
get_channels - First observed
get_dms - First observed
get_messages - First observed
get_servers - First observed
search_messages - First observed
send_message
TDQS
Scored across 6 tools
The tools are mostly distinct: get_servers, get_channels, get_messages, send_message, get_dms, and search_messages each target a different resource. There is minor overlap between get_messages and search_messages, and get_dms could be confused with channel message retrieval, but descriptions clarify the intended use.
Most tools follow a consistent get_* pattern, with send_message and search_messages being logical action-based exceptions. The use of 'dms' instead of 'direct_messages' is a minor inconsistency but does not hurt readability.
Six tools is a well-scoped set for a Discord MCP server covering server discovery, channel listing, message reading, searching, sending, and DM access. No tool feels redundant or unnecessary.
The core read/send workflows for Discord are covered: list servers, list channels, fetch messages, search messages, send messages, and read DMs. Minor gaps exist such as no direct message sending or message editing/deletion, but the main use cases are supported.
Maintenance
Related MCP Connectors
An MCP server that integrates with Discord to provide AI-powered features.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
Related MCP Servers
- AlicenseBqualityDmaintenanceA 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.21825 npm1MIT
- AlicenseNot gradedqualityDmaintenanceA Discord bot server based on Model Context Protocol (MCP), enabling AI models to interact with Discord through the MCP protocol.2MIT
- AlicenseBqualityDmaintenanceA 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.22825 npmMIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI assistants to manage Discord servers, including roles, channels, members, messages, and moderation, via natural language commands.1MIT