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/mcpdo { 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.
- 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 - 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 - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates 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
Webhooks
124 read · 6 write · 2 destructive
List channel webhooks · Get webhook · Create webhook · Update webhook
Channels
92 read · 6 write · 1 destructive
List guild channels · Get channel · Create guild channel · Update channel
Messages
83 read · 3 write · 2 destructive
List messages · Get message · Guild search · Create message
Members
73 read · 3 write · 1 destructive
List guild members · Search guild members · Get guild member · Add guild member
Roles
73 read · 3 write · 1 destructive
List guild roles · Get guild role · Create guild role · Update guild role
Soundboard sounds
73 read · 3 write · 1 destructive
List guild soundboard sounds · Get soundboard default sounds · Get guild soundboard sound · Create guild soundboard sound
Threads
75 read · 2 write · 0 destructive
Get active guild threads · List my private archived threads · List private archived threads · List public archived threads
Users
75 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.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
discord.members.listList guild members | List guild members. | read | identity.user.list474 connectors |
discord.scheduled_events.listList guild scheduled events | List guild scheduled events. | read | comm.event.list61 connectors |
discord.roles.listList guild roles | List guild roles. | read | identity.role.list184 connectors |
discord.messages.listList messages | List messages. | read | comm.message.list42 connectors |
discord.users.meGet my user | Get my user. | read | identity.current_user.get307 connectors |
discord.channels.listList guild channels | List guild channels. | read | comm.channel.list27 connectors |
discord.users.getGet user | Get user. | read | identity.user.get399 connectors |
discord.scheduled_events.getGet guild scheduled event | Get guild scheduled event. | read | comm.event.get59 connectors |
discord.scheduled_events.createCreate guild scheduled event | Create guild scheduled event. | write | comm.event.create52 connectors |
discord.roles.createCreate guild role | Create guild role. | write | identity.role.create105 connectors |
discord.messages.createCreate message | Create message. | write | comm.message.create25 connectors |
discord.scheduled_events.deleteDelete guild scheduled event | Delete guild scheduled event. | destructive | comm.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.
- Readread
What is on the Discord calendar this week?
calls
discord.scheduled_events.list - Writewrite
Create guild scheduled event in Discord. Show me exactly what you will send before you save it.
calls
discord.scheduled_events.create
Governance for Discord
Destructive actions wait for a yes.
44 Discord actions are destructive. The first 10:
- Delete guild scheduled event
discord.scheduled_events.delete - Delete message
discord.messages.delete - Delete guild role
discord.roles.delete - Delete channel
discord.channels.delete - Delete webhook
discord.webhooks.delete - Add guild member role
discord.member_roles.create - Unban user from guild
discord.bans.delete - Delete pin
discord.pins.delete - Prune guild
discord.prune.delete - Delete guild emoji
discord.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.
Delete guild scheduled event?
intent: the user asked me to delete guild scheduled event
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]" } ]}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
Action index
Every Discord action.
241 actions by area: the id your agent calls, what it does, and its effect.
Webhooks12
discord.webhooks.createCreate webhookwritediscord.webhooks.deleteDelete webhookdestructivediscord.webhooks.delete_with_tokenDelete webhook by tokendestructivediscord.webhooks.executeExecute webhookwritediscord.webhooks.execute_githubExecute github compatible webhookwritediscord.webhooks.execute_slackExecute slack compatible webhookwritediscord.webhooks.getGet webhookreaddiscord.webhooks.get_with_tokenGet webhook by tokenreaddiscord.webhooks.list_for_channelList channel webhooksreaddiscord.webhooks.list_for_guildGet guild webhooksreaddiscord.webhooks.updateUpdate webhookwritediscord.webhooks.update_with_tokenUpdate webhook by tokenwrite
Channels9
discord.channels.createCreate guild channelwritediscord.channels.deleteDelete channeldestructivediscord.channels.followFollow channelwritediscord.channels.getGet channelreaddiscord.channels.listList guild channelsreaddiscord.channels.trigger_typingTrigger typing indicatorwritediscord.channels.updateUpdate channelwritediscord.channels.update_positionsBulk update guild channelswritediscord.channels.update_voice_statusUpdate voice channel statuswrite
Messages8
discord.messages.bulk_deleteBulk delete messagesdestructivediscord.messages.createCreate messagewritediscord.messages.crosspostCrosspost messagewritediscord.messages.deleteDelete messagedestructivediscord.messages.getGet messagereaddiscord.messages.listList messagesreaddiscord.messages.searchGuild searchreaddiscord.messages.updateUpdate messagewrite
Members7
discord.members.createAdd guild memberwritediscord.members.deleteDelete guild memberdestructivediscord.members.getGet guild memberreaddiscord.members.listList guild membersreaddiscord.members.searchSearch guild membersreaddiscord.members.updateUpdate guild memberwritediscord.members.update_currentUpdate my guild memberwrite
Roles7
discord.roles.createCreate guild rolewritediscord.roles.deleteDelete guild roledestructivediscord.roles.getGet guild rolereaddiscord.roles.get_member_countsGuild role member countsreaddiscord.roles.listList guild rolesreaddiscord.roles.updateUpdate guild rolewritediscord.roles.update_positionsBulk update guild roleswrite
Soundboard sounds7
discord.soundboard_sounds.createCreate guild soundboard soundwritediscord.soundboard_sounds.deleteDelete guild soundboard sounddestructivediscord.soundboard_sounds.getGet guild soundboard soundreaddiscord.soundboard_sounds.listList guild soundboard soundsreaddiscord.soundboard_sounds.list_defaultGet soundboard default soundsreaddiscord.soundboard_sounds.sendSend soundboard soundwritediscord.soundboard_sounds.updateUpdate guild soundboard soundwrite
Threads7
discord.threads.createCreate threadwritediscord.threads.create_from_messageCreate thread from messagewritediscord.threads.list_activeGet active guild threadsreaddiscord.threads.list_joined_private_archivedList my private archived threadsreaddiscord.threads.list_private_archivedList private archived threadsreaddiscord.threads.list_public_archivedList public archived threadsreaddiscord.threads.searchThread searchread
Users7
discord.users.getGet userreaddiscord.users.get_guild_memberGet my guild memberreaddiscord.users.leave_guildLeave guilddestructivediscord.users.list_connectionsList my connectionsreaddiscord.users.list_guildsList my guildsreaddiscord.users.meGet my userreaddiscord.users.update_currentUpdate my userwrite
Application commands6
discord.application_commands.bulk_overwriteBulk set application commandswritediscord.application_commands.createCreate application commandwritediscord.application_commands.deleteDelete application commanddestructivediscord.application_commands.getGet application commandreaddiscord.application_commands.listList application commandsreaddiscord.application_commands.updateUpdate application commandwrite
Entitlements6
discord.entitlements.consumeConsume entitlementwritediscord.entitlements.createCreate entitlementwritediscord.entitlements.deleteDelete entitlementdestructivediscord.entitlements.getGet entitlementreaddiscord.entitlements.listGet entitlementsreaddiscord.entitlements.list_for_current_userGet current user application entitlementsread
Guild commands6
discord.guild_commands.bulk_overwriteBulk set guild application commandswritediscord.guild_commands.createCreate guild application commandwritediscord.guild_commands.deleteDelete guild application commanddestructivediscord.guild_commands.getGet guild application commandreaddiscord.guild_commands.listList guild application commandsreaddiscord.guild_commands.updateUpdate guild application commandwrite
Guild templates6
discord.guild_templates.createCreate guild templatewritediscord.guild_templates.deleteDelete guild templatedestructivediscord.guild_templates.getGet guild templatereaddiscord.guild_templates.listList guild templatesreaddiscord.guild_templates.syncSync guild templatewritediscord.guild_templates.updateUpdate guild templatewrite
Guilds6
discord.guilds.getGet guildreaddiscord.guilds.get_new_member_welcomeGet guild new member welcomereaddiscord.guilds.get_previewGet guild previewreaddiscord.guilds.get_vanity_urlGet guild vanity urlreaddiscord.guilds.updateUpdate guildwritediscord.guilds.update_incident_actionsUpdate guild incident actionswrite
Lobbies6
discord.lobbies.createCreate lobbywritediscord.lobbies.deleteDelete lobbydestructivediscord.lobbies.getGet lobbyreaddiscord.lobbies.updateEdit lobbywritediscord.lobbies.update_channel_linkEdit lobby channel linkwritediscord.lobbies.upsertCreate or join lobbywrite
Lobby members6
discord.lobby_members.bulk_updateBulk update lobby memberswritediscord.lobby_members.create_guild_inviteCreate linked lobby guild invite for userwritediscord.lobby_members.create_guild_invite_for_selfCreate linked lobby guild invite for selfwritediscord.lobby_members.deleteDelete lobby memberdestructivediscord.lobby_members.leaveLeave lobbydestructivediscord.lobby_members.upsertAdd lobby memberwrite
Pins6
discord.pins.createCreate pinwritediscord.pins.create_legacyCreate pin (legacy route)writediscord.pins.deleteDelete pindestructivediscord.pins.delete_legacyDelete pin (legacy route)destructivediscord.pins.listList pinsreaddiscord.pins.list_legacyList pins (legacy route)read
Reactions6
discord.reactions.createAdd my message reactionwritediscord.reactions.delete_allDelete all message reactionsdestructivediscord.reactions.delete_all_for_emojiDelete all message reactions by emojidestructivediscord.reactions.delete_ownDelete my message reactiondestructivediscord.reactions.delete_userDelete user message reactiondestructivediscord.reactions.listList message reactions by emojiread
Thread members6
discord.thread_members.createAdd thread memberwritediscord.thread_members.deleteDelete thread memberdestructivediscord.thread_members.getGet thread memberreaddiscord.thread_members.joinJoin threadwritediscord.thread_members.leaveLeave threaddestructivediscord.thread_members.listList thread membersread
Webhook messages6
discord.webhook_messages.deleteDelete webhook messagedestructivediscord.webhook_messages.delete_originalDelete original webhook messagedestructivediscord.webhook_messages.getGet webhook messagereaddiscord.webhook_messages.get_originalGet original webhook messagereaddiscord.webhook_messages.updateUpdate webhook messagewritediscord.webhook_messages.update_originalUpdate original webhook messagewrite
Application emojis5
discord.application_emojis.createCreate application emojiwritediscord.application_emojis.deleteDelete application emojidestructivediscord.application_emojis.getGet application emojireaddiscord.application_emojis.listList application emojisreaddiscord.application_emojis.updateUpdate application emojiwrite
Automod rules5
discord.automod_rules.createCreate auto moderation rulewritediscord.automod_rules.deleteDelete auto moderation ruledestructivediscord.automod_rules.getGet auto moderation rulereaddiscord.automod_rules.listList auto moderation rulesreaddiscord.automod_rules.updateUpdate auto moderation rulewrite
Bans5
discord.bans.bulk_createBulk ban users from guildwritediscord.bans.createBan user from guildwritediscord.bans.deleteUnban user from guilddestructivediscord.bans.getGet guild banreaddiscord.bans.listList guild bansread
Emojis5
discord.emojis.createCreate guild emojiwritediscord.emojis.deleteDelete guild emojidestructivediscord.emojis.getGet guild emojireaddiscord.emojis.listList guild emojisreaddiscord.emojis.updateUpdate guild emojiwrite
Invite target users5
discord.invite_target_users.bulk_createBulk add invite target userswritediscord.invite_target_users.bulk_deleteBulk remove invite target usersdestructivediscord.invite_target_users.createAdd invite target userwritediscord.invite_target_users.deleteRemove invite target userdestructivediscord.invite_target_users.get_job_statusGet invite target users job statusread
Partner SDK5
discord.partner_sdk.create_tokenPartner sdk tokenwritediscord.partner_sdk.create_token_botBot partner sdk tokenwritediscord.partner_sdk.unmerge_provisional_accountPartner sdk unmerge provisional accountwritediscord.partner_sdk.unmerge_provisional_account_botBot partner sdk unmerge provisional accountwritediscord.partner_sdk.update_dm_moderation_metadataUpdate user message external moderation metadatawrite
Scheduled events5
discord.scheduled_events.createCreate guild scheduled eventwritediscord.scheduled_events.deleteDelete guild scheduled eventdestructivediscord.scheduled_events.getGet guild scheduled eventreaddiscord.scheduled_events.listList guild scheduled eventsreaddiscord.scheduled_events.updateUpdate guild scheduled eventwrite
Applications4
discord.applications.getGet applicationreaddiscord.applications.get_currentGet my applicationreaddiscord.applications.updateUpdate applicationwritediscord.applications.update_currentUpdate my applicationwrite
Guild stickers4
discord.guild_stickers.deleteDelete guild stickerdestructivediscord.guild_stickers.getGet guild stickerreaddiscord.guild_stickers.listList guild stickersreaddiscord.guild_stickers.updateUpdate guild stickerwrite
Oauth24
discord.oauth2.get_current_applicationGet my oauth2 applicationreaddiscord.oauth2.get_current_authorizationGet my oauth2 authorizationreaddiscord.oauth2.get_userinfoGet openid connect userinforeaddiscord.oauth2.list_public_keysGet public keysread
Stage instances4
discord.stage_instances.createCreate stage instancewritediscord.stage_instances.deleteDelete stage instancedestructivediscord.stage_instances.getGet stage instancereaddiscord.stage_instances.updateUpdate stage instancewrite
Voice states4
discord.voice_states.getGet voice statereaddiscord.voice_states.get_currentGet self voice statereaddiscord.voice_states.updateUpdate voice statewritediscord.voice_states.update_currentUpdate self voice statewrite
Guild command permissions3
discord.guild_command_permissions.getGet guild application command permissionsreaddiscord.guild_command_permissions.listList guild application command permissionsreaddiscord.guild_command_permissions.updateSet guild application command permissionswrite
Invites3
discord.invites.deleteInvite revokedestructivediscord.invites.getInvite resolvereaddiscord.invites.list_for_guildList guild invitesread
Lobby messages3
discord.lobby_messages.createCreate lobby messagewritediscord.lobby_messages.listGet lobby messagesreaddiscord.lobby_messages.update_moderation_metadataUpdate lobby message external moderation metadatawrite
Scheduled event exceptions3
discord.scheduled_event_exceptions.createCreate guild scheduled event exceptionwritediscord.scheduled_event_exceptions.deleteDelete guild scheduled event exceptiondestructivediscord.scheduled_event_exceptions.updateUpdate guild scheduled event exceptionwrite
Scheduled event users3
discord.scheduled_event_users.get_countsCount guild scheduled event usersreaddiscord.scheduled_event_users.listList guild scheduled event usersreaddiscord.scheduled_event_users.list_for_exceptionList guild scheduled event exception usersread
User role connections3
discord.user_role_connections.deleteDelete application user role connectiondestructivediscord.user_role_connections.getGet application user role connectionreaddiscord.user_role_connections.updateUpdate application user role connectionwrite
Channel invites2
discord.channel_invites.createCreate channel invitewritediscord.channel_invites.listList channel invitesread
Gateway2
discord.gateway.getGet gatewayreaddiscord.gateway.get_botGet bot gatewayread
Group DM recipients2
discord.group_dm_recipients.createAdd group dm userwritediscord.group_dm_recipients.deleteDelete group dm userdestructive
Integrations2
discord.integrations.deleteDelete guild integrationdestructivediscord.integrations.listList guild integrationsread
Join requests2
discord.join_requests.listGet guild join requestsreaddiscord.join_requests.updateAction guild join requestwrite
Member roles2
discord.member_roles.createAdd guild member roledestructivediscord.member_roles.deleteDelete guild member roledestructive
Onboarding2
discord.onboarding.getGet guilds onboardingreaddiscord.onboarding.updatePut guilds onboardingwrite
Permission overwrites2
discord.permission_overwrites.deleteDelete channel permission overwritedestructivediscord.permission_overwrites.upsertSet channel permission overwritewrite
Polls2
discord.polls.expirePoll expirewritediscord.polls.list_answer_votersGet answer votersread
Prune2
discord.prune.deletePrune guilddestructivediscord.prune.get_countPreview prune guildread
Role connection metadata2
discord.role_connection_metadata.listGet application role connections metadatareaddiscord.role_connection_metadata.updateUpdate application role connections metadatawrite
Sticker packs2
discord.sticker_packs.getGet sticker packreaddiscord.sticker_packs.listList sticker packsread
Subscriptions2
discord.subscriptions.getGet sku subscriptionreaddiscord.subscriptions.listGet sku subscriptionsread
Voice regions2
discord.voice_regions.listList voice regionsreaddiscord.voice_regions.list_for_guildList guild voice regionsread
Welcome screen2
discord.welcome_screen.getGet guild welcome screenreaddiscord.welcome_screen.updateUpdate guild welcome screenwrite
Widget settings2
discord.widget_settings.getGet guild widget settingsreaddiscord.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.