Discord API MCP server
Guilds, channels, messages, roles and webhooks for a Discord bot.
Discord's HTTP API from its official OpenAPI spec: guilds, channels, messages, threads, members, roles, emojis, webhooks and application commands, with your bot token.
Why use the hosted one: Every endpoint of Discord's API behind the gateway's search, with your own Discord bot token stored encrypted and sent only to Discord.
Needs your Discord bot token: add it once in the dashboard (get one at Discord). It is stored encrypted and sent only to that API.
Connect
claude mcp add --transport http hj-discord-api https://mcp.hjlabs.in/mcp/discord-api \
--header "Authorization: Bearer YOUR_API_KEY"Create an API key and put it in place of YOUR_API_KEY. Step-by-step guides: claude.ai and ChatGPT connectors, Claude Code, Cursor, VS Code, Claude Desktop, Windsurf, Zed, OpenAI Codex CLI, Gemini CLI.
All 250 tools
Get 65 tools
- GET /applications/@me
get_my_application - GET /applications/{application_id}
get_application - GET /applications/{application_id}/commands/{command_id}
get_application_command - GET /applications/{application_id}/emojis/{emoji_id}
get_application_emoji - GET /applications/{application_id}/entitlements
get_entitlements - GET /applications/{application_id}/entitlements/{entitlement_id}
get_entitlement - GET /applications/{application_id}/guilds/{guild_id}/commands/{command_id}
get_guild_application_command - GET /applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permi
get_guild_application_command_permissions - GET /applications/{application_id}/role-connections/metadata
get_application_role_connections_metadata - GET /channels/{channel_id}
get_channel - GET /channels/{channel_id}/messages/{message_id}
get_message - Returns the fully cascaded permissions for a member in this channel, applying th
get_channel_member_permissions - Returns the permissions a role grants in this channel, applying the channel's pe
get_channel_role_permissions - GET /channels/{channel_id}/polls/{message_id}/answers/{answer_id}
get_answer_voters - GET /channels/{channel_id}/thread-members/{user_id}
get_thread_member - GET /gateway
get_gateway - GET /gateway/bot
get_bot_gateway - GET /guilds/templates/{code}
get_guild_template - GET /guilds/{guild_id}
get_guild - GET /guilds/{guild_id}/auto-moderation/rules/{rule_id}
get_auto_moderation_rule - GET /guilds/{guild_id}/bans/{user_id}
get_guild_ban - GET /guilds/{guild_id}/emojis/{emoji_id}
get_guild_emoji - GET /guilds/{guild_id}/members/{user_id}
get_guild_member - GET /guilds/{guild_id}/new-member-welcome
get_guild_new_member_welcome - GET /guilds/{guild_id}/onboarding
get_guilds_onboarding - Returns the fully cascaded guild-level permissions for a member, applying all of
get_guild_member_permissions - Returns the permissions a role grants at the guild level, combining the role's o
get_guild_role_permissions - GET /guilds/{guild_id}/preview
get_guild_preview - List join requests for guild, optionally filtered by application status
get_guild_join_requests - GET /guilds/{guild_id}/roles/{role_id}
get_guild_role - GET /guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}
get_guild_scheduled_event - GET /guilds/{guild_id}/soundboard-sounds/{sound_id}
get_guild_soundboard_sound - GET /guilds/{guild_id}/stickers/{sticker_id}
get_guild_sticker - GET /guilds/{guild_id}/threads/active
get_active_guild_threads - GET /guilds/{guild_id}/vanity-url
get_guild_vanity_url - GET /guilds/{guild_id}/voice-states/@me
get_self_voice_state - GET /guilds/{guild_id}/voice-states/{user_id}
get_voice_state - GET /guilds/{guild_id}/webhooks
get_guild_webhooks - GET /guilds/{guild_id}/welcome-screen
get_guild_welcome_screen - GET /guilds/{guild_id}/widget
get_guild_widget_settings - GET /guilds/{guild_id}/widget.json
get_guild_widget - GET /guilds/{guild_id}/widget.png
get_guild_widget_png - Get the target users for an invite.
get_invite_target_users - Get the target users job status for an invite.
get_invite_target_users_job_status - GET /lobbies/{lobby_id}
get_lobby - GET /lobbies/{lobby_id}/messages
get_lobby_messages - GET /oauth2/@me
get_my_oauth2_authorization - GET /oauth2/applications/@me
get_my_oauth2_application - GET /oauth2/keys
get_public_keys - GET /oauth2/userinfo
get_openid_connect_userinfo - Returns all subscriptions containing the SKU, filtered by user.
get_sku_subscriptions - Get a subscription by its ID.
get_sku_subscription - GET /soundboard-default-sounds
get_soundboard_default_sounds - GET /stage-instances/{channel_id}
get_stage_instance - GET /sticker-packs/{pack_id}
get_sticker_pack - GET /stickers/{sticker_id}
get_sticker - GET /users/@me
get_my_user - GET /users/@me/applications/{application_id}/entitlements
get_current_user_application_entitlements - GET /users/@me/applications/{application_id}/role-connection
get_application_user_role_connection - GET /users/@me/guilds/{guild_id}/member
get_my_guild_member - GET /users/{user_id}
get_user - GET /webhooks/{webhook_id}
get_webhook - GET /webhooks/{webhook_id}/{webhook_token}
get_webhook_by_token - GET /webhooks/{webhook_id}/{webhook_token}/messages/@original
get_original_webhook_message - GET /webhooks/{webhook_id}/{webhook_token}/messages/{message_id}
get_webhook_message
Update 35 tools
- PATCH /applications/@me
update_my_application - PATCH /applications/{application_id}
update_application - PATCH /applications/{application_id}/commands/{command_id}
update_application_command - PATCH /applications/{application_id}/emojis/{emoji_id}
update_application_emoji - PATCH /applications/{application_id}/guilds/{guild_id}/commands/{command_id}
update_guild_application_command - PUT /applications/{application_id}/role-connections/metadata
update_application_role_connections_metadata - PATCH /channels/{channel_id}
update_channel - PATCH /channels/{channel_id}/messages/{message_id}
update_message - Set a voice channel's status.
update_voice_channel_status - PATCH /guilds/{guild_id}
update_guild - PATCH /guilds/{guild_id}/auto-moderation/rules/{rule_id}
update_auto_moderation_rule - PATCH /guilds/{guild_id}/emojis/{emoji_id}
update_guild_emoji - Modifies the incident actions of the guild
update_guild_incident_actions - PATCH /guilds/{guild_id}/members/@me
update_my_guild_member - PATCH /guilds/{guild_id}/members/{user_id}
update_guild_member - PATCH /guilds/{guild_id}/roles/{role_id}
update_guild_role - PATCH /guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}
update_guild_scheduled_event - Modify an exception to a recurring guild scheduled event
update_guild_scheduled_event_exception - PATCH /guilds/{guild_id}/soundboard-sounds/{sound_id}
update_guild_soundboard_sound - PATCH /guilds/{guild_id}/stickers/{sticker_id}
update_guild_sticker - PATCH /guilds/{guild_id}/templates/{code}
update_guild_template - PATCH /guilds/{guild_id}/voice-states/@me
update_self_voice_state - PATCH /guilds/{guild_id}/voice-states/{user_id}
update_voice_state - PATCH /guilds/{guild_id}/welcome-screen
update_guild_welcome_screen - PATCH /guilds/{guild_id}/widget
update_guild_widget_settings - Update the target users for an existing invite.
update_invite_target_users - Update the external moderation metadata for a lobby message.
update_lobby_message_external_moderation_metadata - Update the external moderation metadata for a user message (DM).
update_user_message_external_moderation_metadata - PATCH /stage-instances/{channel_id}
update_stage_instance - PATCH /users/@me
update_my_user - PUT /users/@me/applications/{application_id}/role-connection
update_application_user_role_connection - PATCH /webhooks/{webhook_id}
update_webhook - PATCH /webhooks/{webhook_id}/{webhook_token}
update_webhook_by_token - PATCH /webhooks/{webhook_id}/{webhook_token}/messages/@original
update_original_webhook_message - PATCH /webhooks/{webhook_id}/{webhook_token}/messages/{message_id}
update_webhook_message
Delete 33 tools
- DELETE /applications/{application_id}/commands/{command_id}
delete_application_command - DELETE /applications/{application_id}/emojis/{emoji_id}
delete_application_emoji - DELETE /applications/{application_id}/entitlements/{entitlement_id}
delete_entitlement - DELETE /applications/{application_id}/guilds/{guild_id}/commands/{command_id}
delete_guild_application_command - DELETE /channels/{channel_id}
delete_channel - DELETE /channels/{channel_id}/messages/pins/{message_id}
delete_pin - DELETE /channels/{channel_id}/messages/{message_id}
delete_message - DELETE /channels/{channel_id}/messages/{message_id}/reactions
delete_all_message_reactions - DELETE /channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}
delete_all_message_reactions_by_emoji - DELETE /channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me
delete_my_message_reaction - DELETE /channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/{user
delete_user_message_reaction - DELETE /channels/{channel_id}/permissions/{overwrite_id}
delete_channel_permission_overwrite - DELETE /channels/{channel_id}/recipients/{user_id}
delete_group_dm_user - DELETE /channels/{channel_id}/thread-members/{user_id}
delete_thread_member - DELETE /guilds/{guild_id}/auto-moderation/rules/{rule_id}
delete_auto_moderation_rule - DELETE /guilds/{guild_id}/emojis/{emoji_id}
delete_guild_emoji - DELETE /guilds/{guild_id}/integrations/{integration_id}
delete_guild_integration - DELETE /guilds/{guild_id}/members/{user_id}
delete_guild_member - DELETE /guilds/{guild_id}/members/{user_id}/roles/{role_id}
delete_guild_member_role - DELETE /guilds/{guild_id}/roles/{role_id}
delete_guild_role - DELETE /guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}
delete_guild_scheduled_event - Delete an exception to a recurring guild scheduled event
delete_guild_scheduled_event_exception - DELETE /guilds/{guild_id}/soundboard-sounds/{sound_id}
delete_guild_soundboard_sound - DELETE /guilds/{guild_id}/stickers/{sticker_id}
delete_guild_sticker - DELETE /guilds/{guild_id}/templates/{code}
delete_guild_template - Deletes the specified lobby if it exists.
delete_lobby - DELETE /lobbies/{lobby_id}/members/{user_id}
delete_lobby_member - DELETE /stage-instances/{channel_id}
delete_stage_instance - DELETE /users/@me/applications/{application_id}/role-connection
delete_application_user_role_connection - DELETE /webhooks/{webhook_id}
delete_webhook - DELETE /webhooks/{webhook_id}/{webhook_token}
delete_webhook_by_token - DELETE /webhooks/{webhook_id}/{webhook_token}/messages/@original
delete_original_webhook_message - DELETE /webhooks/{webhook_id}/{webhook_token}/messages/{message_id}
delete_webhook_message
List 33 tools
- GET /applications/{application_id}/commands
list_application_commands - GET /applications/{application_id}/emojis
list_application_emojis - GET /applications/{application_id}/guilds/{guild_id}/commands
list_guild_application_commands - GET /applications/{application_id}/guilds/{guild_id}/commands/permissions
list_guild_application_command_permissions - GET /channels/{channel_id}/invites
list_channel_invites - GET /channels/{channel_id}/messages
list_messages - GET /channels/{channel_id}/messages/pins
list_pins - GET /channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}
list_message_reactions_by_emoji - GET /channels/{channel_id}/thread-members
list_thread_members - GET /channels/{channel_id}/threads/archived/private
list_private_archived_threads - GET /channels/{channel_id}/threads/archived/public
list_public_archived_threads - GET /channels/{channel_id}/users/@me/threads/archived/private
list_my_private_archived_threads - GET /channels/{channel_id}/webhooks
list_channel_webhooks - GET /guilds/{guild_id}/audit-logs
list_guild_audit_log_entries - GET /guilds/{guild_id}/auto-moderation/rules
list_auto_moderation_rules - GET /guilds/{guild_id}/bans
list_guild_bans - GET /guilds/{guild_id}/channels
list_guild_channels - GET /guilds/{guild_id}/emojis
list_guild_emojis - GET /guilds/{guild_id}/integrations
list_guild_integrations - GET /guilds/{guild_id}/invites
list_guild_invites - GET /guilds/{guild_id}/members
list_guild_members - GET /guilds/{guild_id}/regions
list_guild_voice_regions - GET /guilds/{guild_id}/roles
list_guild_roles - GET /guilds/{guild_id}/scheduled-events
list_guild_scheduled_events - GET /guilds/{guild_id}/scheduled-events/{guild_scheduled_event_id}/users
list_guild_scheduled_event_users - Get a list of users subscribed to a guild scheduled event exception
list_guild_scheduled_event_exception_users - GET /guilds/{guild_id}/soundboard-sounds
list_guild_soundboard_sounds - GET /guilds/{guild_id}/stickers
list_guild_stickers - GET /guilds/{guild_id}/templates
list_guild_templates - GET /sticker-packs
list_sticker_packs - GET /users/@me/connections
list_my_connections - GET /users/@me/guilds
list_my_guilds - GET /voice/regions
list_voice_regions
Create 27 tools
- POST /applications/{application_id}/commands
create_application_command - POST /applications/{application_id}/emojis
create_application_emoji - POST /applications/{application_id}/entitlements
create_entitlement - POST /applications/{application_id}/guilds/{guild_id}/commands
create_guild_application_command - POST /channels/{channel_id}/invites
create_channel_invite - POST /channels/{channel_id}/messages
create_message - PUT /channels/{channel_id}/messages/pins/{message_id}
create_pin - POST /channels/{channel_id}/messages/{message_id}/threads
create_thread_from_message - POST /channels/{channel_id}/threads
create_thread - POST /channels/{channel_id}/webhooks
create_webhook - POST /guilds/{guild_id}/auto-moderation/rules
create_auto_moderation_rule - POST /guilds/{guild_id}/channels
create_guild_channel - POST /guilds/{guild_id}/emojis
create_guild_emoji - POST /guilds/{guild_id}/roles
create_guild_role - POST /guilds/{guild_id}/scheduled-events
create_guild_scheduled_event - Create an exception to a recurring guild scheduled event
create_guild_scheduled_event_exception - POST /guilds/{guild_id}/soundboard-sounds
create_guild_soundboard_sound - POST /guilds/{guild_id}/stickers
create_guild_sticker - POST /guilds/{guild_id}/templates
create_guild_template - POST /interactions/{interaction_id}/{interaction_token}/callback
create_interaction_response - PUT /lobbies
create_or_join_lobby - POST /lobbies
create_lobby - POST /lobbies/{lobby_id}/members/@me/invites
create_linked_lobby_guild_invite_for_self - POST /lobbies/{lobby_id}/members/{user_id}/invites
create_linked_lobby_guild_invite_for_user - POST /lobbies/{lobby_id}/messages
create_lobby_message - POST /stage-instances
create_stage_instance - POST /users/@me/channels
create_dm
Bulk 9 tools
- PUT /applications/{application_id}/commands
bulk_set_application_commands - PUT /applications/{application_id}/guilds/{guild_id}/commands
bulk_set_guild_application_commands - POST /channels/{channel_id}/messages/bulk-delete
bulk_delete_messages - POST /guilds/{guild_id}/bulk-ban
bulk_ban_users_from_guild - PATCH /guilds/{guild_id}/channels
bulk_update_guild_channels - PATCH /guilds/{guild_id}/roles
bulk_update_guild_roles - Add multiple target users to an existing invite.
bulk_add_invite_target_users - Remove multiple target users from an existing invite.
bulk_remove_invite_target_users - POST /lobbies/{lobby_id}/members/bulk
bulk_update_lobby_members
Add 7 tools
- PUT /channels/{channel_id}/messages/{message_id}/reactions/{emoji_name}/@me
add_my_message_reaction - PUT /channels/{channel_id}/recipients/{user_id}
add_group_dm_user - PUT /channels/{channel_id}/thread-members/{user_id}
add_thread_member - PUT /guilds/{guild_id}/members/{user_id}
add_guild_member - PUT /guilds/{guild_id}/members/{user_id}/roles/{role_id}
add_guild_member_role - Add a target user to an existing invite.
add_invite_target_user - PUT /lobbies/{lobby_id}/members/{user_id}
add_lobby_member
Deprecated 3 tools
- GET /channels/{channel_id}/pins
deprecated_list_pins - PUT /channels/{channel_id}/pins/{message_id}
deprecated_create_pin - DELETE /channels/{channel_id}/pins/{message_id}
deprecated_delete_pin
Execute 3 tools
- POST /webhooks/{webhook_id}/{webhook_token}
execute_webhook - POST /webhooks/{webhook_id}/{webhook_token}/github
execute_github_compatible_webhook - POST /webhooks/{webhook_id}/{webhook_token}/slack
execute_slack_compatible_webhook
Leave 3 tools
- DELETE /channels/{channel_id}/thread-members/@me
leave_thread - DELETE /lobbies/{lobby_id}/members/@me
leave_lobby - DELETE /users/@me/guilds/{guild_id}
leave_guild
Bot 2 tools
- POST /partner-sdk/provisional-accounts/unmerge/bot
bot_partner_sdk_unmerge_provisional_account - POST /partner-sdk/token/bot
bot_partner_sdk_token
Edit 2 tools
- PATCH /lobbies/{lobby_id}
edit_lobby - PATCH /lobbies/{lobby_id}/channel-linking
edit_lobby_channel_link
Guild 2 tools
- GET /guilds/{guild_id}/messages/search
guild_search - GET /guilds/{guild_id}/roles/member-counts
guild_role_member_counts
Invite 2 tools
- GET /invites/{code}
invite_resolve - DELETE /invites/{code}
invite_revoke
Partner 2 tools
- POST /partner-sdk/provisional-accounts/unmerge
partner_sdk_unmerge_provisional_account - POST /partner-sdk/token
partner_sdk_token
Set 2 tools
- PUT /applications/{application_id}/guilds/{guild_id}/commands/{command_id}/permi
set_guild_application_command_permissions - PUT /channels/{channel_id}/permissions/{overwrite_id}
set_channel_permission_overwrite
Action 1 tool
- Approve or reject guild join request
action_guild_join_request
Applications 1 tool
- GET /applications/{application_id}/activity-instances/{instance_id}
applications_get_activity_instance
Ban 1 tool
- PUT /guilds/{guild_id}/bans/{user_id}
ban_user_from_guild
Consume 1 tool
- POST /applications/{application_id}/entitlements/{entitlement_id}/consume
consume_entitlement
Count 1 tool
- Get the count of users subscribed to a guild scheduled event
count_guild_scheduled_event_users
Crosspost 1 tool
- POST /channels/{channel_id}/messages/{message_id}/crosspost
crosspost_message
Follow 1 tool
- POST /channels/{channel_id}/followers
follow_channel
Join 1 tool
- PUT /channels/{channel_id}/thread-members/@me
join_thread
Poll 1 tool
Preview 1 tool
- GET /guilds/{guild_id}/prune
preview_prune_guild
Prune 1 tool
- POST /guilds/{guild_id}/prune
prune_guild
Put 1 tool
- PUT /guilds/{guild_id}/onboarding
put_guilds_onboarding
Remove 1 tool
- Remove a target user from an existing invite.
remove_invite_target_user
Search 1 tool
- GET /guilds/{guild_id}/members/search
search_guild_members
Send 1 tool
- POST /channels/{channel_id}/send-soundboard-sound
send_soundboard_sound
Sync 1 tool
- PUT /guilds/{guild_id}/templates/{code}
sync_guild_template
Thread 1 tool
- GET /channels/{channel_id}/threads/search
thread_search
Trigger 1 tool
- POST /channels/{channel_id}/typing
trigger_typing_indicator
Unban 1 tool
- DELETE /guilds/{guild_id}/bans/{user_id}
unban_user_from_guild
Upload 1 tool
- POST /applications/{application_id}/attachment
upload_application_attachment
Try asking
Post an announcement in the #general channel of my server and pin it.
Usage and limits
Every account gets a free daily allowance of tool calls; connecting, listing and searching are not counted. See the limits. Only a tool that runs costs a call.