Skip to content

Connectors · Email & messaging

Discord MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Discord and the rest of your systems. It gives your agent 241 Discord actions (101 reads, 96 writes and 44 that wait for a confirmation) and holds the Discord credential itself, so the agent never does. It paces Discord's limits and records every call.

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

claude mcp add --transport http actionlake https://connect.actionlake.com/mcp
the first call
do {  action: "discord.users.list_guilds",  intent: "check which Discord account is connected"}# List my guilds · read · 1 upstream call
  • 241actionsin one signed file
  • 101readlook, never change
  • 96writecreate and update
  • 44wait for a yesdestructive, confirmed first

Set up

Connect Discord in three steps.

  1. 01

    Add actionlake to Claude.

    Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.

    https://connect.actionlake.com/mcp
  2. 02

    Connect Discord.

    Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.

    • bot_tokenDiscord bot token (Developer Portal > your application > Bot > Reset Token)
    account { op: "connections.requirements", service: "discord" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates the call and prices it, for free.

    do    { action: "discord.users.list_guilds" }# list my guilds · read · 1 upstream callcheck { action: "discord.scheduled_events.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent

Discord at a glance

Sign-in
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
You provide
bot_token
Limits we pace to
50 calls a second, per connection
API covered
Discord HTTP API v10 (OpenAPI 10, public preview spec)discord.com
Built from
Discord's documentation, read 23 October 2026OpenAPI spec (GitHub)discord.com
Service file
Version 1.0.0, signed (Ed25519)
Cached reads
97 of 101 reads, for up to 5 minutes; a write clears what it affects
Shared entities
7, so ask can line Discord up with your other systems
Data
Processed and stored in Sydney, Australia. No US region yet

Capabilities

What an AI agent can do in Discord.

241 actions in 59 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

  • 101readlook, never change
  • 96writecreate and update
  • 44destructivewait for a confirmation
  1. Webhooks

    12

    4 read · 6 write · 2 destructive

    List channel webhooks · Get webhook · Create webhook · Update webhook

  2. Channels

    9

    2 read · 6 write · 1 destructive

    List guild channels · Get channel · Create guild channel · Update channel

  3. Messages

    8

    3 read · 3 write · 2 destructive

    List messages · Get message · Guild search · Create message

  4. Members

    7

    3 read · 3 write · 1 destructive

    List guild members · Search guild members · Get guild member · Add guild member

  5. Roles

    7

    3 read · 3 write · 1 destructive

    List guild roles · Get guild role · Create guild role · Update guild role

  6. Soundboard sounds

    7

    3 read · 3 write · 1 destructive

    List guild soundboard sounds · Get soundboard default sounds · Get guild soundboard sound · Create guild soundboard sound

  7. Threads

    7

    5 read · 2 write · 0 destructive

    Get active guild threads · List my private archived threads · List private archived threads · List public archived threads

  8. Users

    7

    5 read · 1 write · 1 destructive

    Get my user · Get user · List my guilds · List my connections

51 more areas · 177 actions
  • Application commands 6
  • Entitlements 6
  • Guild commands 6
  • Guild templates 6
  • Guilds 6
  • Lobbies 6
  • Lobby members 6
  • Pins 6
  • Reactions 6
  • Thread members 6
  • Webhook messages 6
  • Application emojis 5
  • Automod rules 5
  • Bans 5
  • Emojis 5
  • Invite target users 5
  • Partner SDK 5
  • Scheduled events 5
  • Applications 4
  • Guild stickers 4
  • Oauth2 4
  • Stage instances 4
  • Voice states 4
  • Guild command permissions 3
  • Invites 3
  • Lobby messages 3
  • Scheduled event exceptions 3
  • Scheduled event users 3
  • User role connections 3
  • Channel invites 2
  • Gateway 2
  • Group DM recipients 2
  • Integrations 2
  • Join requests 2
  • Member roles 2
  • Onboarding 2
  • Permission overwrites 2
  • Polls 2
  • Prune 2
  • Role connection metadata 2
  • Sticker packs 2
  • Subscriptions 2
  • Voice regions 2
  • Welcome screen 2
  • Widget settings 2
  • Activity instances 1
  • Audit logs 1
  • DM channels 1
  • Interactions 1
  • Stickers 1
  • Widget 1

Top actions

The Discord API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 34 of Discord's 34 action names are shared with at least one other connector, so an agent learns them once.

ActionWhat it doesEffectSame name in
discord.members.listList guild membersList guild members.readidentity.user.list474 connectors
discord.scheduled_events.listList guild scheduled eventsList guild scheduled events.readcomm.event.list61 connectors
discord.roles.listList guild rolesList guild roles.readidentity.role.list184 connectors
discord.messages.listList messagesList messages.readcomm.message.list42 connectors
discord.users.meGet my userGet my user.readidentity.current_user.get307 connectors
discord.channels.listList guild channelsList guild channels.readcomm.channel.list27 connectors
discord.users.getGet userGet user.readidentity.user.get399 connectors
discord.scheduled_events.getGet guild scheduled eventGet guild scheduled event.readcomm.event.get59 connectors
discord.scheduled_events.createCreate guild scheduled eventCreate guild scheduled event.writecomm.event.create52 connectors
discord.roles.createCreate guild roleCreate guild role.writeidentity.role.create105 connectors
discord.messages.createCreate messageCreate message.writecomm.message.create25 connectors
discord.scheduled_events.deleteDelete guild scheduled eventDelete guild scheduled event.destructivecomm.event.delete45 connectors

Try it

Prompts to paste into Claude.

Each one names the Discord actions it will call, so you know what it reads and what it changes before you send it.

  1. Readread

    What is on the Discord calendar this week?

    callsdiscord.scheduled_events.list

  2. Writewrite

    Create guild scheduled event in Discord. Show me exactly what you will send before you save it.

    callsdiscord.scheduled_events.create

Governance for Discord

Destructive actions wait for a yes.

44 Discord actions are destructive. The first 10:

  • Delete guild scheduled eventdiscord.scheduled_events.delete
  • Delete messagediscord.messages.delete
  • Delete guild rolediscord.roles.delete
  • Delete channeldiscord.channels.delete
  • Delete webhookdiscord.webhooks.delete
  • Add guild member rolediscord.member_roles.create
  • Unban user from guilddiscord.bans.delete
  • Delete pindiscord.pins.delete
  • Prune guilddiscord.prune.delete
  • Delete guild emojidiscord.emojis.delete

A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

dodiscord.scheduled_events.deleteconfirm_policy: human

Delete guild scheduled event?

intent: the user asked me to delete guild scheduled event

run suspended · waiting for a named person · key discord-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
account {  op: "keys.create", name: "discord-agent",  allowed_actions: ["discord.*"], cap_calls: 2000,  confirm_policy: "human_for_writes",  approval_rules: [    { match: "discord.scheduled_events.delete", approver: "[email protected]" },    { match: "discord.messages.delete", approver: "[email protected]" },    { match: "discord.roles.delete", approver: "[email protected]" }  ]}
Illustrative. Scoped to Discord only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

What Discord costs on actionlake.

Every Discord action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Discord refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

  • 1upstream call per actionall 241 Discord actions
  • 18actions pageeach page of a long list is one call
  • 97reads can be cacheda cache hit costs nothing
  • 100,000calls a month, freepaid plans from US$49 a month for 250,000

See pricing

Action index

Every Discord action.

241 actions by area: the id your agent calls, what it does, and its effect.

Webhooks12
  • discord.webhooks.createCreate webhookwrite
  • discord.webhooks.deleteDelete webhookdestructive
  • discord.webhooks.delete_with_tokenDelete webhook by tokendestructive
  • discord.webhooks.executeExecute webhookwrite
  • discord.webhooks.execute_githubExecute github compatible webhookwrite
  • discord.webhooks.execute_slackExecute slack compatible webhookwrite
  • discord.webhooks.getGet webhookread
  • discord.webhooks.get_with_tokenGet webhook by tokenread
  • discord.webhooks.list_for_channelList channel webhooksread
  • discord.webhooks.list_for_guildGet guild webhooksread
  • discord.webhooks.updateUpdate webhookwrite
  • discord.webhooks.update_with_tokenUpdate webhook by tokenwrite
Channels9
  • discord.channels.createCreate guild channelwrite
  • discord.channels.deleteDelete channeldestructive
  • discord.channels.followFollow channelwrite
  • discord.channels.getGet channelread
  • discord.channels.listList guild channelsread
  • discord.channels.trigger_typingTrigger typing indicatorwrite
  • discord.channels.updateUpdate channelwrite
  • discord.channels.update_positionsBulk update guild channelswrite
  • discord.channels.update_voice_statusUpdate voice channel statuswrite
Messages8
  • discord.messages.bulk_deleteBulk delete messagesdestructive
  • discord.messages.createCreate messagewrite
  • discord.messages.crosspostCrosspost messagewrite
  • discord.messages.deleteDelete messagedestructive
  • discord.messages.getGet messageread
  • discord.messages.listList messagesread
  • discord.messages.searchGuild searchread
  • discord.messages.updateUpdate messagewrite
Members7
  • discord.members.createAdd guild memberwrite
  • discord.members.deleteDelete guild memberdestructive
  • discord.members.getGet guild memberread
  • discord.members.listList guild membersread
  • discord.members.searchSearch guild membersread
  • discord.members.updateUpdate guild memberwrite
  • discord.members.update_currentUpdate my guild memberwrite
Roles7
  • discord.roles.createCreate guild rolewrite
  • discord.roles.deleteDelete guild roledestructive
  • discord.roles.getGet guild roleread
  • discord.roles.get_member_countsGuild role member countsread
  • discord.roles.listList guild rolesread
  • discord.roles.updateUpdate guild rolewrite
  • discord.roles.update_positionsBulk update guild roleswrite
Soundboard sounds7
  • discord.soundboard_sounds.createCreate guild soundboard soundwrite
  • discord.soundboard_sounds.deleteDelete guild soundboard sounddestructive
  • discord.soundboard_sounds.getGet guild soundboard soundread
  • discord.soundboard_sounds.listList guild soundboard soundsread
  • discord.soundboard_sounds.list_defaultGet soundboard default soundsread
  • discord.soundboard_sounds.sendSend soundboard soundwrite
  • discord.soundboard_sounds.updateUpdate guild soundboard soundwrite
Threads7
  • discord.threads.createCreate threadwrite
  • discord.threads.create_from_messageCreate thread from messagewrite
  • discord.threads.list_activeGet active guild threadsread
  • discord.threads.list_joined_private_archivedList my private archived threadsread
  • discord.threads.list_private_archivedList private archived threadsread
  • discord.threads.list_public_archivedList public archived threadsread
  • discord.threads.searchThread searchread
Users7
  • discord.users.getGet userread
  • discord.users.get_guild_memberGet my guild memberread
  • discord.users.leave_guildLeave guilddestructive
  • discord.users.list_connectionsList my connectionsread
  • discord.users.list_guildsList my guildsread
  • discord.users.meGet my userread
  • discord.users.update_currentUpdate my userwrite
Application commands6
  • discord.application_commands.bulk_overwriteBulk set application commandswrite
  • discord.application_commands.createCreate application commandwrite
  • discord.application_commands.deleteDelete application commanddestructive
  • discord.application_commands.getGet application commandread
  • discord.application_commands.listList application commandsread
  • discord.application_commands.updateUpdate application commandwrite
Entitlements6
  • discord.entitlements.consumeConsume entitlementwrite
  • discord.entitlements.createCreate entitlementwrite
  • discord.entitlements.deleteDelete entitlementdestructive
  • discord.entitlements.getGet entitlementread
  • discord.entitlements.listGet entitlementsread
  • discord.entitlements.list_for_current_userGet current user application entitlementsread
Guild commands6
  • discord.guild_commands.bulk_overwriteBulk set guild application commandswrite
  • discord.guild_commands.createCreate guild application commandwrite
  • discord.guild_commands.deleteDelete guild application commanddestructive
  • discord.guild_commands.getGet guild application commandread
  • discord.guild_commands.listList guild application commandsread
  • discord.guild_commands.updateUpdate guild application commandwrite
Guild templates6
  • discord.guild_templates.createCreate guild templatewrite
  • discord.guild_templates.deleteDelete guild templatedestructive
  • discord.guild_templates.getGet guild templateread
  • discord.guild_templates.listList guild templatesread
  • discord.guild_templates.syncSync guild templatewrite
  • discord.guild_templates.updateUpdate guild templatewrite
Guilds6
  • discord.guilds.getGet guildread
  • discord.guilds.get_new_member_welcomeGet guild new member welcomeread
  • discord.guilds.get_previewGet guild previewread
  • discord.guilds.get_vanity_urlGet guild vanity urlread
  • discord.guilds.updateUpdate guildwrite
  • discord.guilds.update_incident_actionsUpdate guild incident actionswrite
Lobbies6
  • discord.lobbies.createCreate lobbywrite
  • discord.lobbies.deleteDelete lobbydestructive
  • discord.lobbies.getGet lobbyread
  • discord.lobbies.updateEdit lobbywrite
  • discord.lobbies.update_channel_linkEdit lobby channel linkwrite
  • discord.lobbies.upsertCreate or join lobbywrite
Lobby members6
  • discord.lobby_members.bulk_updateBulk update lobby memberswrite
  • discord.lobby_members.create_guild_inviteCreate linked lobby guild invite for userwrite
  • discord.lobby_members.create_guild_invite_for_selfCreate linked lobby guild invite for selfwrite
  • discord.lobby_members.deleteDelete lobby memberdestructive
  • discord.lobby_members.leaveLeave lobbydestructive
  • discord.lobby_members.upsertAdd lobby memberwrite
Pins6
  • discord.pins.createCreate pinwrite
  • discord.pins.create_legacyCreate pin (legacy route)write
  • discord.pins.deleteDelete pindestructive
  • discord.pins.delete_legacyDelete pin (legacy route)destructive
  • discord.pins.listList pinsread
  • discord.pins.list_legacyList pins (legacy route)read
Reactions6
  • discord.reactions.createAdd my message reactionwrite
  • discord.reactions.delete_allDelete all message reactionsdestructive
  • discord.reactions.delete_all_for_emojiDelete all message reactions by emojidestructive
  • discord.reactions.delete_ownDelete my message reactiondestructive
  • discord.reactions.delete_userDelete user message reactiondestructive
  • discord.reactions.listList message reactions by emojiread
Thread members6
  • discord.thread_members.createAdd thread memberwrite
  • discord.thread_members.deleteDelete thread memberdestructive
  • discord.thread_members.getGet thread memberread
  • discord.thread_members.joinJoin threadwrite
  • discord.thread_members.leaveLeave threaddestructive
  • discord.thread_members.listList thread membersread
Webhook messages6
  • discord.webhook_messages.deleteDelete webhook messagedestructive
  • discord.webhook_messages.delete_originalDelete original webhook messagedestructive
  • discord.webhook_messages.getGet webhook messageread
  • discord.webhook_messages.get_originalGet original webhook messageread
  • discord.webhook_messages.updateUpdate webhook messagewrite
  • discord.webhook_messages.update_originalUpdate original webhook messagewrite
Application emojis5
  • discord.application_emojis.createCreate application emojiwrite
  • discord.application_emojis.deleteDelete application emojidestructive
  • discord.application_emojis.getGet application emojiread
  • discord.application_emojis.listList application emojisread
  • discord.application_emojis.updateUpdate application emojiwrite
Automod rules5
  • discord.automod_rules.createCreate auto moderation rulewrite
  • discord.automod_rules.deleteDelete auto moderation ruledestructive
  • discord.automod_rules.getGet auto moderation ruleread
  • discord.automod_rules.listList auto moderation rulesread
  • discord.automod_rules.updateUpdate auto moderation rulewrite
Bans5
  • discord.bans.bulk_createBulk ban users from guildwrite
  • discord.bans.createBan user from guildwrite
  • discord.bans.deleteUnban user from guilddestructive
  • discord.bans.getGet guild banread
  • discord.bans.listList guild bansread
Emojis5
  • discord.emojis.createCreate guild emojiwrite
  • discord.emojis.deleteDelete guild emojidestructive
  • discord.emojis.getGet guild emojiread
  • discord.emojis.listList guild emojisread
  • discord.emojis.updateUpdate guild emojiwrite
Invite target users5
  • discord.invite_target_users.bulk_createBulk add invite target userswrite
  • discord.invite_target_users.bulk_deleteBulk remove invite target usersdestructive
  • discord.invite_target_users.createAdd invite target userwrite
  • discord.invite_target_users.deleteRemove invite target userdestructive
  • discord.invite_target_users.get_job_statusGet invite target users job statusread
Partner SDK5
  • discord.partner_sdk.create_tokenPartner sdk tokenwrite
  • discord.partner_sdk.create_token_botBot partner sdk tokenwrite
  • discord.partner_sdk.unmerge_provisional_accountPartner sdk unmerge provisional accountwrite
  • discord.partner_sdk.unmerge_provisional_account_botBot partner sdk unmerge provisional accountwrite
  • discord.partner_sdk.update_dm_moderation_metadataUpdate user message external moderation metadatawrite
Scheduled events5
  • discord.scheduled_events.createCreate guild scheduled eventwrite
  • discord.scheduled_events.deleteDelete guild scheduled eventdestructive
  • discord.scheduled_events.getGet guild scheduled eventread
  • discord.scheduled_events.listList guild scheduled eventsread
  • discord.scheduled_events.updateUpdate guild scheduled eventwrite
Applications4
  • discord.applications.getGet applicationread
  • discord.applications.get_currentGet my applicationread
  • discord.applications.updateUpdate applicationwrite
  • discord.applications.update_currentUpdate my applicationwrite
Guild stickers4
  • discord.guild_stickers.deleteDelete guild stickerdestructive
  • discord.guild_stickers.getGet guild stickerread
  • discord.guild_stickers.listList guild stickersread
  • discord.guild_stickers.updateUpdate guild stickerwrite
Oauth24
  • discord.oauth2.get_current_applicationGet my oauth2 applicationread
  • discord.oauth2.get_current_authorizationGet my oauth2 authorizationread
  • discord.oauth2.get_userinfoGet openid connect userinforead
  • discord.oauth2.list_public_keysGet public keysread
Stage instances4
  • discord.stage_instances.createCreate stage instancewrite
  • discord.stage_instances.deleteDelete stage instancedestructive
  • discord.stage_instances.getGet stage instanceread
  • discord.stage_instances.updateUpdate stage instancewrite
Voice states4
  • discord.voice_states.getGet voice stateread
  • discord.voice_states.get_currentGet self voice stateread
  • discord.voice_states.updateUpdate voice statewrite
  • discord.voice_states.update_currentUpdate self voice statewrite
Guild command permissions3
  • discord.guild_command_permissions.getGet guild application command permissionsread
  • discord.guild_command_permissions.listList guild application command permissionsread
  • discord.guild_command_permissions.updateSet guild application command permissionswrite
Invites3
  • discord.invites.deleteInvite revokedestructive
  • discord.invites.getInvite resolveread
  • discord.invites.list_for_guildList guild invitesread
Lobby messages3
  • discord.lobby_messages.createCreate lobby messagewrite
  • discord.lobby_messages.listGet lobby messagesread
  • discord.lobby_messages.update_moderation_metadataUpdate lobby message external moderation metadatawrite
Scheduled event exceptions3
  • discord.scheduled_event_exceptions.createCreate guild scheduled event exceptionwrite
  • discord.scheduled_event_exceptions.deleteDelete guild scheduled event exceptiondestructive
  • discord.scheduled_event_exceptions.updateUpdate guild scheduled event exceptionwrite
Scheduled event users3
  • discord.scheduled_event_users.get_countsCount guild scheduled event usersread
  • discord.scheduled_event_users.listList guild scheduled event usersread
  • discord.scheduled_event_users.list_for_exceptionList guild scheduled event exception usersread
User role connections3
  • discord.user_role_connections.deleteDelete application user role connectiondestructive
  • discord.user_role_connections.getGet application user role connectionread
  • discord.user_role_connections.updateUpdate application user role connectionwrite
Channel invites2
  • discord.channel_invites.createCreate channel invitewrite
  • discord.channel_invites.listList channel invitesread
Gateway2
  • discord.gateway.getGet gatewayread
  • discord.gateway.get_botGet bot gatewayread
Group DM recipients2
  • discord.group_dm_recipients.createAdd group dm userwrite
  • discord.group_dm_recipients.deleteDelete group dm userdestructive
Integrations2
  • discord.integrations.deleteDelete guild integrationdestructive
  • discord.integrations.listList guild integrationsread
Join requests2
  • discord.join_requests.listGet guild join requestsread
  • discord.join_requests.updateAction guild join requestwrite
Member roles2
  • discord.member_roles.createAdd guild member roledestructive
  • discord.member_roles.deleteDelete guild member roledestructive
Onboarding2
  • discord.onboarding.getGet guilds onboardingread
  • discord.onboarding.updatePut guilds onboardingwrite
Permission overwrites2
  • discord.permission_overwrites.deleteDelete channel permission overwritedestructive
  • discord.permission_overwrites.upsertSet channel permission overwritewrite
Polls2
  • discord.polls.expirePoll expirewrite
  • discord.polls.list_answer_votersGet answer votersread
Prune2
  • discord.prune.deletePrune guilddestructive
  • discord.prune.get_countPreview prune guildread
Role connection metadata2
  • discord.role_connection_metadata.listGet application role connections metadataread
  • discord.role_connection_metadata.updateUpdate application role connections metadatawrite
Sticker packs2
  • discord.sticker_packs.getGet sticker packread
  • discord.sticker_packs.listList sticker packsread
Subscriptions2
  • discord.subscriptions.getGet sku subscriptionread
  • discord.subscriptions.listGet sku subscriptionsread
Voice regions2
  • discord.voice_regions.listList voice regionsread
  • discord.voice_regions.list_for_guildList guild voice regionsread
Welcome screen2
  • discord.welcome_screen.getGet guild welcome screenread
  • discord.welcome_screen.updateUpdate guild welcome screenwrite
Widget settings2
  • discord.widget_settings.getGet guild widget settingsread
  • discord.widget_settings.updateUpdate guild widget settingswrite
Activity instances1
  • discord.activity_instances.getApplications get activity instanceread
Audit logs1
  • discord.audit_logs.listList guild audit log entriesread
DM channels1
  • discord.dm_channels.createCreate dmwrite
Interactions1
  • discord.interactions.respondCreate interaction responsewrite
Stickers1
  • discord.stickers.getGet stickerread
Widget1
  • discord.widget.getGet guild widgetread

Questions

The Discord MCP server, answered.

Is there a Discord MCP server for Claude?

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 241 Discord actions across webhooks, channels, messages and members, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Discord.

What do I need to connect Discord?

Discord bot token (Developer Portal > your application > Bot > Reset Token). The free call account { op: "connections.requirements", service: "discord" } lists exactly what to paste.

Can an AI agent delete or change things in Discord?

Only if its key allows it, and only with an explicit confirmation. 44 Discord actions are destructive, including delete guild scheduled event, delete message and delete guild role. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

Will an AI agent use up my Discord API limit?

actionlake paces every call to the limits in the Discord service file: 50 calls a second per connection. Repeated reads are answered from cache (97 Discord actions can be), which never reaches Discord.

What does a Discord action cost?

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (18 Discord actions page). Cache hits, searches, dry runs and calls Discord refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

Which Discord API does it cover?

The Discord HTTP API v10 (OpenAPI 10, public preview spec) at discord.com. It is built from Discord's documentation as read on 23 October 2026. 241 actions in 59 areas, each one in the signed service file (version 1.0.0).

Does actionlake keep my Discord data, and where?

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Discord credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

Which AI clients can use it?

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

Give your agent Discord today.

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.