Discord MCP OAuth2 Server
Discord MCP OAuth2 Server
A Model Context Protocol (MCP) server that provides Discord integration using OAuth2 user authentication for MCP clients like Claude Desktop. This allows Claude to access Discord with YOUR permissions, eliminating the need for bot setup and admin approvals.
Key Benefits
✅ No Bot Required: Use your own Discord account instead of creating a bot
✅ Automatic Access: Access all servers you're already a member of
✅ No Admin Approval: No need to get bot permissions from server administrators
✅ Your Permissions: Claude sees exactly what you can see on Discord
✅ Secure: OAuth2 with encrypted token storage and automatic refresh
Available Tools
Server Information
list_servers: List all Discord servers you have access toget_server_info: Get detailed information about a serverget_channels: List channels in a server you can seelist_members: List server members (if you have permission)get_user_info: Get information about a Discord user
Message Reading
read_messages: Read recent message history from channels you can access
Note: Write operations (sending messages, managing roles, etc.) are not included as they require special permissions that regular users typically don't have.
Installation
1. Set up Discord OAuth2 Application
Go to Discord Developer Portal
Click "New Application" and give it a name
Navigate to OAuth2 → General
Copy the Client ID and Client Secret
Add redirect URI:
http://localhost:8000/callbackSave changes
2. Clone and Install
# Clone this repository
git clone https://github.com/YOUR-USERNAME/mcp-discord-oauth.git
cd mcp-discord-oauth
# Create and activate virtual environment
uv venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
# Install dependencies
uv pip install -e .3. Configure Claude Desktop
Update your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"discord": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-discord-oauth",
"run",
"mcp-discord"
],
"env": {
"DISCORD_CLIENT_ID": "your_oauth_client_id",
"DISCORD_CLIENT_SECRET": "your_oauth_client_secret",
"DISCORD_REDIRECT_URI": "http://localhost:8000/callback"
}
}
}
}4. First Time Setup
Restart Claude Desktop
Try using a Discord command like "What servers do I have access to?"
Your browser will open for OAuth2 authorization
Grant permission to access your Discord account
Return to Claude - it now has access to your Discord data!
How It Works
OAuth2 Authentication: Uses standard OAuth2 flow to authenticate with your Discord account
Token Storage: Securely stores access tokens with encryption in your home directory
Auto Refresh: Automatically refreshes tokens when they expire
REST API: Makes direct Discord API calls using your permissions
MCP Integration: Provides tools to Claude Desktop for Discord interaction
Security
Tokens are encrypted using Fernet symmetric encryption
Stored in your home directory with restricted permissions
Uses PKCE (Proof Key for Code Exchange) for additional security
Automatic token refresh prevents stale credentials
License
MIT License - see LICENSE file for details.