A Discord bot server that integrates with Mastra's MCP Bot component to provide intelligent assistance and answer questions about Mastra.ai.
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
- Node.js v20.0+
- npm
- Discord bot token
- Access to discord-mcp-bot component
-
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
-
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
- 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
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
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.)
- discord-mcp-bot: Handles Mastra-specific functionality and intelligent responses