Help us improve
Share bugs, ideas, or general feedback.
Discord経由で承認リクエスト・通知を送信するMCPサーバー
npx claudepluginhub malanjp/discord-approval-mcpDiscord経由で承認リクエスト・通知を送信するMCPサーバー
Share bugs, ideas, or general feedback.
English | 日本語
An MCP server that sends approval requests and notifications via Discord from Claude Code.
# 1. Add the marketplace
claude plugin marketplace add malanjp/discord-approval-mcp
# 2. Install the plugin
claude plugin install discord-approval
# 3. Set environment variables (see below)
# 4. Restart Claude Code
The plugin automatically:
You need to set DISCORD_BOT_TOKEN and DISCORD_CHANNEL_ID. Choose one of the following methods:
Create .claude/settings.local.json in your project root (add to .gitignore):
{
"env": {
"DISCORD_BOT_TOKEN": "your_bot_token",
"DISCORD_CHANNEL_ID": "your_channel_id"
}
}
Create or edit ~/.claude/settings.json:
{
"env": {
"DISCORD_BOT_TOKEN": "your_bot_token",
"DISCORD_CHANNEL_ID": "your_channel_id"
}
}
Add to ~/.zshrc or ~/.bashrc:
export DISCORD_BOT_TOKEN="your_bot_token"
export DISCORD_CHANNEL_ID="your_channel_id"
.claude/settings.local.json (project-local, gitignored).claude/settings.json (project-shared)~/.claude/settings.json (user-wide)~/.zshrc, etc.)botSend Messages, Read Message Historynpm install
npm run build
Add to ~/.claude.json:
{
"mcpServers": {
"discord-approval": {
"command": "node",
"args": ["/path/to/discord-approval-mcp/dist/index.js"],
"env": {
"DISCORD_BOT_TOKEN": "your_bot_token",
"DISCORD_CHANNEL_ID": "your_channel_id"
}
}
}
}
request_approvalSends an approval request and waits for the user's response.
| Parameter | Type | Required | Description |
|---|---|---|---|
| message | string | ✅ | The content to be approved |
| timeout | number | - | Timeout in seconds (default: 300) |
Returns: Approved / Denied / Timeout
notifySends a notification (no response required).
| Parameter | Type | Required | Description |
|---|---|---|---|
| message | string | ✅ | The notification message |
ask_questionSends a question with multiple choices and waits for the user's selection.
| Parameter | Type | Required | Description |
|---|---|---|---|
| question | string | ✅ | The question to ask |
| options | string[] | ✅ | Array of choices (2-25 items) |
| timeout | number | - | Timeout in seconds (default: 300) |
Returns: The selected option / Timeout
schedule_reminderSchedules a reminder to be sent to Discord after a specified delay. Use with AskUserQuestion to notify via Discord when the user doesn't respond in time.
| Parameter | Type | Required | Description |
|---|---|---|---|
| message | string | ✅ | The reminder message |
| delay_seconds | number | ✅ | Delay in seconds (1-3600) |
Returns: { reminder_id: string } for cancellation
cancel_reminderCancels a scheduled reminder.
| Parameter | Type | Required | Description |
|---|---|---|---|
| reminder_id | string | ✅ | The reminder ID from schedule_reminder |
Returns: Success / Error message
notify_with_statusSends a notification with status using Discord Embed (color-coded).
| Parameter | Type | Required | Description |
|---|---|---|---|
| message | string | ✅ | The notification message |
| status | string | ✅ | Status type: success (green), error (red), warning (yellow), info (blue) |
| details | string | - | Additional details (optional) |
Returns: Success / Error message
request_text_inputRequests text input from the user via Discord Modal dialog.