Skip to main content
Glama
RossH121

Discord MCP Server

by RossH121
README.md
# Discord MCP Server

An MCP (Model Context Protocol) server for Discord API integration with Claude. This server allows Claude to interact with Discord servers via tools that perform actions such as sending messages, reading messages, and managing server resources.

## Prerequisites

- Node.js 16 or higher
- A Discord bot token (create one at the [Discord Developer Portal](https://discord.com/developers/applications))
- Appropriate bot permissions:
  - Read Messages/View Channels
  - Send Messages
  - Read Message History
  - (Optional) Manage Roles, Manage Channels, etc. depending on functionality needed

## Installation

1. Clone this repository
2. Install dependencies:
   ```bash
   npm install
   ```
3. Build the project:
   ```bash
   npm run build
   ```

## Configuration

Create a `.env` file in the root directory with:

```
DISCORD_TOKEN=your_discord_bot_token_here
```

## Usage

1. Start the server:
   ```bash
   npm start
   ```

2. Configure Claude Desktop:
   - Add to Claude Desktop's configuration file:
   ```json
   {
     "mcpServers": {
       "discord": {
         "command": "node",
         "args": ["path/to/discord-mcp/build/index.js"],
         "env": { "DISCORD_TOKEN": "your_discord_bot_token_here" }
       }
     }
   }
   ```

## Available Tools

- `send-message`: Send a message to a Discord channel
- `read-messages`: Read recent messages from a Discord channel
- `list-channels`: List available channels in the server
- `list-servers`: List servers the bot has access to
- `get-user-info`: Get information about a specific user

## Security Considerations

- The Discord bot token grants access to your Discord bot. Keep it secure.
- The bot can only access servers it has been invited to.
- Actions are limited by the bot's permissions in each server.

## License

MIT

TDQS

A3.5/5.0

Scored across 19 tools

Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity. Tools are well-defined by their specific actions (e.g., add_friend vs. remove_friend, send_message vs. edit_message vs. delete_message), and even similar-sounding tools like get_message and get_message_history serve different functions (single message retrieval vs. channel history).

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern prefixed with 'discord_', such as discord_send_message, discord_get_channel, and discord_remove_reaction. This uniformity makes the tool set predictable and easy to navigate, with no deviations in naming conventions.

Tool Count4/5

With 19 tools, the count is slightly high but reasonable for a comprehensive Discord integration. It covers a wide range of functionalities from messaging and reactions to friend management and presence updates, though it might be borderline for some use cases, leaning toward a heavier but well-justified set.

Completeness5/5

The tool set provides complete coverage for Discord interactions, including CRUD operations for messages (send, edit, delete, get), friend management (add, remove, list), channel handling (get, create DM, list DMs), and auxiliary functions like reactions, attachments, and presence. No obvious gaps are present, supporting full agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues