mcp-discord-agent-comm
Version:
An MCP server enabling async communication between AI agents and users via Discord - perfect for long-running tasks requiring remote interaction
129 lines (93 loc) • 4.31 kB
Markdown
# MCP Discord Agent Communication
An MCP (Model Context Protocol) server that enables async communication between AI agents and users via Discord. Perfect for long-running AI tasks where you need remote interaction capabilities.
## 🎯 Purpose
This isn't a full Discord bot - it's specifically designed for **AI agents to communicate with users remotely** during long-running tasks. Step away from your machine while your AI assistant handles complex work and reaches out when needed.
## Features
- 💬 **Unified Communication** - Single tool for all Discord interactions
- 📢 **Send Notifications** - Agent sends updates without waiting for response
- 🔄 **Request User Input** - Agent asks questions and waits for replies
- ⏰ **Async Communication** - Perfect for long-running tasks requiring remote interaction
## Use Cases
Perfect for scenarios where AI agents need remote human interaction:
- Kick off complex tasks and get notified when they complete
- Let AI ask for your input or feedback when decisions are needed
- Stay in the loop while doing other activities (workouts, walks, meetings)
- Monitor progress without being glued to your screen
## Quick Setup
### 1. Create Discord Bot
1. Go to [Discord Developer Portal](https://discord.com/developers/applications)
2. Create "New Application" → Go to "Bot" → "Add Bot"
3. Copy the bot token
4. Enable "MESSAGE CONTENT INTENT" in bot settings
5. Use OAuth2 URL Generator to invite bot to your server with these permissions:
- Send Messages, Read Message History, Add Reactions, View Channels
### 2. Get Channel ID
Enable Developer Mode in Discord settings, then right-click your channel → "Copy Channel ID"
### 3. Configure Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"discord-agent-comm": {
"command": "npx",
"args": ["mcp-discord-agent-comm"],
"env": {
"DISCORD_BOT_TOKEN": "your-bot-token-here",
"DISCORD_CHANNEL_ID": "your-channel-id-here"
}
}
}
}
```
## Available Tool
### `discord_message`
Send a message to Discord, optionally waiting for a response.
#### Simple notification (no response needed):
```json
{
"message": "Task completed! 🎉"
}
```
#### Request user input (waits for reply):
```json
{
"message": "What should I name this file?",
"expect_reply": true
}
```
#### Yes/No or any other question (waits for reply):
```json
{
"message": "Should I deploy to production?",
"expect_reply": true
}
```
Note: When `expect_reply` is true, the tool waits for the user to reply to the message in Discord.
## Agent Instructions
For guidance on how to instruct AI agents to use these tools effectively, see [`AGENT_INSTRUCTIONS.md`](./AGENT_INSTRUCTIONS.md). It provides example guidelines for when agents should communicate vs. work autonomously.
## Important Notes
### Discord Notifications
- **Only one device receives Discord notifications** - disable Discord on other devices or turn off notifications if you want them on a specific device
- Notifications work best on mobile devices when other instances are closed
### How It Works
- **Notifications**: Direct message to channel (when `expect_reply` is false or omitted)
- **Input requests**: Users reply to the bot's message using Discord's reply feature (when `expect_reply` is true)
- **Default timeout**: 300 seconds (5 minutes) when waiting for replies
## Troubleshooting
- **Bot offline**: Check token and permissions
- **No notifications**: Ensure MESSAGE CONTENT INTENT enabled, check channel permissions
- **Timeouts**: Users must reply to messages (not just type in channel) or click reactions
## Development
```bash
git clone https://github.com/EugenEistrach/mcp-discord-agent-comm.git
cd mcp-discord-agent-comm
bun install
cp .env.example .env # Edit with your tokens
bun run dev
```
## License
MIT
## Publishing Status
[](https://badge.fury.io/js/mcp-discord-agent-comm)
[](https://www.npmjs.com/package/mcp-discord-agent-comm)
Install globally: `npm install -g mcp-discord-agent-comm`