Skip to main content
Glama
tanishqkancharla

discord-mcp

README.md
# discord-mcp

MCP server that gives you full Discord REST API access through a bot token. Designed to be used with Claude Code, Cursor, or any MCP client.

## Setup

1. Create a Discord application at https://discord.com/developers/applications
2. Add a bot and copy the token
3. Invite the bot to your server with Administrator permissions:
   ```
   https://discord.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&permissions=8&scope=bot
   ```
4. Enable all Privileged Gateway Intents (Presence, Server Members, Message Content)

## Install

```bash
npm install
npm run build
```

## Configure

Set environment variables:

```bash
export DISCORD_TOKEN="your-bot-token"
export DISCORD_GUILD_ID="your-guild-id"
```

## Use with Claude Code

Add to your MCP config (`~/.claude/claude_code_config.json`):

```json
{
  "mcpServers": {
    "discord": {
      "command": "node",
      "args": ["/path/to/discord-mcp/dist/index.js"],
      "env": {
        "DISCORD_TOKEN": "your-bot-token",
        "DISCORD_GUILD_ID": "your-guild-id"
      }
    }
  }
}
```

## Available Tools

### Channels
- `list_channels` - List all server channels
- `get_channel` - Get channel details
- `create_channel` - Create a new channel
- `edit_channel` - Edit channel settings
- `delete_channel` - Delete a channel

### Messages
- `get_messages` - Get recent messages
- `send_message` - Send a message
- `send_embed` - Send a rich embed
- `edit_message` - Edit a bot message
- `delete_message` - Delete a message
- `bulk_delete_messages` - Bulk delete messages
- `pin_message` / `unpin_message` - Pin management
- `get_pinned_messages` - Get pinned messages
- `add_reaction` - React to a message
- `search_messages` - Search messages in the server

### Threads
- `create_thread` - Create a thread

### Members
- `list_members` - List server members
- `search_members` - Search by username/nickname
- `get_member` - Get member details
- `edit_member` - Edit member (nickname, roles, mute, timeout)
- `kick_member` - Kick a member
- `ban_member` / `unban_member` - Ban management
- `list_bans` - List banned users

### Roles
- `list_roles` - List all roles
- `create_role` - Create a role
- `edit_role` - Edit a role
- `delete_role` - Delete a role
- `assign_role` / `remove_role` - Role assignment

### Server
- `get_server_info` - Server details
- `get_audit_log` - View audit log

### Invites
- `create_invite` - Create an invite
- `list_invites` - List active invites
- `delete_invite` - Delete an invite

### Webhooks
- `list_webhooks` - List webhooks
- `create_webhook` - Create a webhook