The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Discord RPC MCP listing page.
A server that exposes the Discord desktop app's RPC through MCP. (Functionality follows Discord's RPC capabilities, so features such as searching past chats are not available.)
Ask it to read a channel, receive new messages, or turn down someone's volume in a call.
| Tools | Purpose |
|---|---|
get_guilds, get_guild, get_channels | Get server and channel information |
get_channel | Read a channel, DM or group DM |
get_selected_voice_channel, get_voice_settings | Check your voice channel and settings |
subscribe, unsubscribe, get_events | Subscribe to and read messages, voice events and more |
select_text_channel, select_voice_channel | Switch channels, join or leave a call |
set_voice_settings, set_user_voice_settings | Adjust your audio settings or another participant's local volume |
set_activity | Set or clear Rich Presence |
send_activity_join_invite, close_activity_request | Accept or reject activity join requests |
set_certified_devices | Set device information |
Send this to an agent with terminal access, such as Codex or Claude Code:
For manual setup or Claude Desktop, see the installation guide.
Complete the Discord settings below. Labels use the English interface. You can reuse an application you have already configured.
New Application > enter a name such as RPC MCP Bridge in Name > review and accept the terms > CreateOAuth2 > Redirects > Add Redirect > enter http://127.0.0.1:8765/callback > Save ChangesOAuth2 page, select Client ID > Copy, then paste it after DISCORD_CLIENT_ID= in the local .env file indicated by your agentClient Secret, paste it after DISCORD_CLIENT_SECRET= in the same file, and save
Reset Secret and complete any identity verification requestedEnter the secret in the local .env file, not in chat. For manual login commands, see the installation guide.
Configuration · Development · Discord RPC access requirements
DISCORD_ALLOW_CONTROL=1 in .env. See the configuration guide for the required authorization scopes