# Discord MCP

> Discord MCP connector lets your AI client run as a full bot moderator, giving you API access to manage every aspect of your community. You can list servers and channels, pull user data, monitor message history, send alerts, and even create private chat threads—all without leaving your agent's interface.

## Overview
- **Category:** talk-to-me
- **Price:** Free
- **Tags:** community-management, server-moderation, chat-bots, real-time-messaging, guild-management, api-automation

## Description

You connect this MCP to give your AI client the full control panel for managing any Discord server. It’s like having a dedicated, tireless community moderator that lives inside your workflow. Instead of clicking through dozens of tabs or manually copying IDs, you tell your agent what needs doing—whether it's tracking down a user's history in a specific channel or listing every guild the bot is part of.

It handles all the structural work: organizing channels, monitoring who talks where, and gathering detailed member profiles. This gives your team immediate oversight into community activity, turning scattered conversations into actionable data points. Because this connector is hosted on Vinkius, you can access its full power alongside thousands of other operational tools in one place.

## Tools

### get_bot_info
Retrieves current operational data and details about the bot itself.

### send_message
Sends an immediate, defined message to any public or private chat channel.

### create_dm_channel
Starts a private one-on-one chat channel with a specified user.

### get_channel
Pulls all metadata for a single, specific channel in a server.

### get_guild
Retrieves comprehensive details and configuration information for one entire server.

### get_user
Gets the full profile and membership details for a specific user in any connected server.

### list_channels
Lists all text, voice, and category channels available within a given server.

### list_guilds
Lists all distinct Discord servers (guilds) that this bot is currently active in.

### list_guild_members
Returns an exhaustive list of every member currently in the selected server.

### list_messages
Retrieves a chronological list of the most recent messages from a specified channel.

## Prompt Examples

**Prompt:** 
```
List all Discord servers the bot is currently in.
```

**Response:** 
```
I've retrieved the list of servers. Your bot is active in 3 guilds: 'Vinkius Community' (ID: 123), 'Internal Testing', and 'Product Feedback'. Which one should we explore for channels?
```

**Prompt:** 
```
Show the last 10 messages from channel ID '456'.
```

**Response:** 
```
Scanning channel 456... I found 10 recent messages. Highlights include a feature request from @user1 and a question about deployment. Would you like the full text of any of these?
```

**Prompt:** 
```
Send a welcome message to channel '456': 'Welcome to the server!'.
```

**Response:** 
```
Message sent! I've posted your welcome note to the specified channel (ID: 456). The message ID is 'msg_789'. I'll monitor for any immediate reactions.
```

## Capabilities

### Get server and channel status
You list all servers the bot is connected to, or pull specific details about a single guild or channel.

### Monitor member activity
The agent can retrieve complete lists of members in any given server and get detailed profiles for specific users.

### Read message history
You pull recent messages from a channel or direct message thread to audit conversations or find key quotes.

### Send targeted communications
The agent posts messages into public channels, sends welcome alerts, or creates private chat threads with single users.

## Use Cases

### Onboarding new members
A community manager needs a fresh welcome message sent when someone joins. They prompt their agent to find all available channels, then execute send_message into the #general channel with a tailored welcome note.

### Investigating spam reports
Support staff spots suspicious activity. They ask their agent to get_user details on the reported user and use list_messages in that channel to pull up the last ten messages for review.

### Server structural audit
A dev needs to check if a new feature requires specific channels across all company servers. They run list_guilds, then iterate through every guild using get_guild to confirm channel existence.

## Benefits

- Stop manually auditing chats. You can use list_messages to pull the last fifty conversations in a channel, letting your agent surface key action items instead of just raw text.
- Never lose track of who's who again. With get_user and list_guild_members, you immediately access complete member directories and user profiles across multiple servers.
- Automate support outreach. Use create_dm_channel to instantly open a private channel with a user when they report an issue, keeping all communication contained.
- Maintain structural integrity. The agent can use list_channels and get_channel to check if new required categories or channels are missing from a server setup.
- Manage cross-server operations. Start by using list_guilds to see every server the bot is in, then target specific ones with get_guild for auditing purposes.

## How It Works

The bottom line is: you configure the access permissions once, and your AI agent handles all the API calls from there.

1. First, you need to subscribe to this MCP and grab your Bot Token from the Discord Developer Portal.
2. Next, make sure 'Message Content Intent' and 'Server Members Intent' are enabled in your bot settings. This lets your agent read data it needs.
3. Finally, run a command through your AI client; it uses the available tools to interact with your community structure.

## Frequently Asked Questions

**How do I list all the servers the bot can see using list_guilds?**
Run the list_guilds tool. It returns a complete list of every server (guild) ID and name that your bot is currently active in, letting you scope your next action.

**Can I use get_user to find out if someone is an admin?**
Yes, get_user pulls comprehensive details for a user. You'll find their full profile and role information right there in the returned data package.

**What is the best way to send a message to a specific channel using send_message?**
You need the channel ID first. Use list_channels on the target guild, then take the resulting Channel ID to feed into send_message.

**Do I need multiple tools to manage members? Does list_guild_members help?**
list_guild_members pulls a full roster of everyone in the server. This gives you the base data needed before using get_user on any specific person.

**When using get_channel, what metadata does this MCP provide about a specific server channel?**
It returns comprehensive details beyond just the name. You'll get the channel type, its associated category ID, and topic information. This is useful for understanding your community’s full structural architecture.

**If I need to coordinate support privately, how does create_dm_channel set up a direct message thread?**
It instantly establishes the required DM channel ID between two users. This is perfect for handling one-on-one support or internal notifications without cluttering public channels.

**When calling list_messages, are there limits to how many recent messages I can retrieve from a single channel?**
The function allows you to specify the desired scope and number of messages. You control the retrieval batch size, ensuring you only pull the necessary historical data for analysis.

**What specific information does get_bot_info provide regarding the bot's current operational setup?**
It returns core details about your connected bot instance. This lets you verify which token and configuration are active, ensuring that complex moderation commands run with the correct permissions.

**How do I find my Discord Bot Token?**
Log in to the Discord Developer Portal, select your Application, navigate to the **Bot** tab, and click **Reset Token** or **Copy** to retrieve your secret key.

**Why can't my agent read messages?**
You must enable the **Message Content Intent** in the Bot section of the Discord Developer Portal for the agent to retrieve text content.

**How do I get the ID of a server or channel?**
Enable **Developer Mode** in your Discord client settings (Advanced), then right-click a server or channel name and select **Copy ID**.