what is Discord MCP Bot?
Discord MCP Bot is a server component that integrates with Mastra's MCP Bot to provide intelligent assistance and answer questions within Discord.
how to use Discord MCP Bot?
To use the Discord MCP Bot, clone the repository, install dependencies, set up your Discord bot credentials in a .env
file, and run the server.
key features of Discord MCP Bot?
- Direct message support for user inquiries
- Slash commands for easy interaction
- Integration with Mastra MCP for intelligent responses
- Support for Discord threads to enhance user experience
use cases of Discord MCP Bot?
- Answering user questions in Discord channels
- Providing intelligent responses to queries via direct messages
- Managing bot commands and permissions effectively
FAQ from Discord MCP Bot?
- How do I set up the bot?
Follow the setup instructions in the documentation to create a Discord application and configure your bot.
- Can I customize the bot's commands?
Yes! You can register and delete commands as needed using the provided scripts.
- Is the bot free to use?
Yes! The bot is free to use as long as you comply with Discord's terms of service.
Discord MCP Bot - Server Component
A Discord bot server that integrates with Mastra's MCP Bot component to provide intelligent assistance and answer questions about Mastra.ai.
Overview
This Discord bot server works with the Mastra MCP component to:
- Handle Discord interactions and message routing
- Manage bot commands and permissions
- Provide Discord-specific functionality like threads and DMs
- Interface with the Mastra component for intelligent responses
Prerequisites
- Node.js v20.0+
- npm
- Discord bot token
- Access to discord-mcp-bot component
Getting Started
-
Clone the repository:
git clone https://github.com/mastra-ai/discord-mcp-server cd discord-mcp-server
-
Install dependencies:
npm install
-
Create a
.env
file with your Discord credentials:DISCORD_BOT_TOKEN=your_discord_bot_token DISCORD_CLIENT_ID=your_discord_client_id DISCORD_PUBLIC_KEY=your_discord_public_key MASTRA_URL=your_mastra_url
-
Run the server:
npm start
Setting Up a Discord Bot
-
Create a Discord application:
- Go to Discord Developer Portal
- Click "New Application" and give it a name
- Navigate to the "Bot" tab and click "Add Bot"
-
Configure bot permissions:
- Under "Privileged Gateway Intents", enable:
- Message Content Intent
- Server Members Intent
- Direct Message Intent
- Under "Privileged Gateway Intents", enable:
-
Get your bot token:
- In the Bot tab, click "Reset Token" or "Copy" to get your bot token
- Add this token to your
.env
file asDISCORD_BOT_TOKEN
-
Invite the bot to your server:
- Go to the "OAuth2" tab, then "URL Generator"
- Select "bot" under scopes
- Select required permissions:
- Read Messages/View Channels
- Send Messages
- Read Message History
- Copy the generated URL and open it in your browser
- Select your server and authorize the bot
Features
- Direct Message Support: Users can DM the bot to ask questions
- Slash Commands: Uses Discord's slash commands to interact with the bot
/ask
: Ask the bot a question/cleardm
: Clear the bot messages in the user's DMs
- Threads: Uses Discord's threads to provide a better user experience
- Integration: Seamless integration with the Mastra MCP component
Project Structure
api/index.ts
: Main bot implementation and Discord client setupscripts/register-commands.ts
: Register the bot commandsscripts/delete-commands.ts
: Delete the bot commandsscripts/list-commands.ts
: List the bot commands
Implementation Notes
The server is built with:
- Discord.js for Discord integration
- TypeScript for type safety and better development experience
- Integration with Mastra MCP component for intelligent responses
For production deployment, consider:
- Setting up proper logging
- Implementing rate limiting
- Adding monitoring and error tracking
- Setting up a process manager (PM2, etc.)
Related Projects
- discord-mcp-bot: Handles Mastra-specific functionality and intelligent responses