Discord for AI agents
Discord is a messaging and voice platform where communities gather in servers, used here for account, guild, and subscription data across linked services and support tools. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.
What agents do in Discord.
Check a user's guild membership
Look up whether a user belongs to a given guild before granting access to a linked service.
List a user's connected accounts
Read a user's linked connections to verify identity for a support request.
Read-only entitlement checks
Check a user's SKU subscriptions as a read-only lookup before granting access to a paid feature.
28 Discord actions, graded by risk.
Every Discord action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.
read
20Look things up. Allowed by default.
- discord.get_userGet User
- discord.get_inviteGet Invite (Deprecated)
- discord.get_gatewayGet Gateway
- discord.get_my_userGet My User
- discord.list_my_guildsList My Guilds
- discord.get_public_keysGet Public Keys
- discord.get_guild_widgetGet Guild Widget
- discord.get_guild_templateGet Guild Template
- discord.list_sticker_packsList Sticker Packs
- discord.get_my_guild_memberGet my guild member
- discord.list_my_connectionsList My Connections
- discord.get_guild_widget_pngGet Guild Widget PNG
- discord.get_sku_subscriptionGet SKU Subscription
- discord.list_sku_subscriptionsList SKU Subscriptions
- discord.get_my_oauth2_authorizationGet my OAuth2 authorization
- discord.get_openid_connect_userinfoGet OpenID Connect userinfo
write
6Create and change things. Allow, or ask the user first.
- discord.update_user_application_role_connectionUpdate User Application Role Connection
- discord.leave_guildLeave Guild (Deprecated)
- discord.invite_resolveResolve Invite
- discord.consume_entitlementConsume Entitlement (Deprecated)
- discord.modify_current_userModify Current User (Deprecated)
- discord.edit_application_command_permissionsEdit Application Command Permissions
destructive
2Delete, cancel or archive. Ask first, or deny outright.
- discord.delete_test_entitlementDelete Test Entitlement (Deprecated)
- discord.delete_user_application_role_connectionDelete User Application Role Connection
Discord in three steps.
- 01Your users connect DiscordThey sign in to Discord on Arc0 Connect, under your brand, and approve the access you ask for.
- 02You set the rulesReads run, writes like “update User Application Role Connection” can wait for the user, and “delete Test Entitlement (Deprecated)” can be denied outright.
- 03Any agent can actYour agent calls Discord through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
await arc0.policies.set('discord', { read: 'allow', write: 'ask', // update_user_application_role_connection destructive: 'deny', // delete_test_entitlement }) # Claude Code: the same connection, one URL $ claude mcp add --transport http arc0 \ https://mcp.arc0.ai/u/u_8f2
How Discord connects.
Users sign in to Discord on Arc0 Connect and approve the scopes you request. Build with Arc0’s Discord OAuth app, or bring your own so the Discord consent screen names you. Tokens refresh automatically, and you can export them whenever you want.
The same Discord connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →
- AUTH
- OAuth 2.0
- CREDENTIALS
- Per-tenant encrypted vault
- MODEL SEES
- Results only, never credentials
- AUDIT LOG
- Every call, on every plan
Use Discord from any agent.
Discord and Arc0, answered.
Can I use Discord with Claude, ChatGPT or Cursor?
Yes. Connect Discord to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Discord actions you allow.
How do users connect Discord?
Users sign in to Discord on Arc0 Connect and approve the scopes you request. Build with Arc0’s Discord OAuth app, or bring your own so the Discord consent screen names you. Tokens refresh automatically, and you can export them whenever you want.
Which Discord actions can my agent take?
28 in total: 20 read, 6 write and 2 destructive, such as “update User Application Role Connection”. Your policies decide which of them each agent may call.
Can I stop my agent from deleting things in Discord?
Yes. Actions like “delete Test Entitlement (Deprecated)” are graded destructive. Set destructive actions to deny, or to ask so the user approves each one, and blocked calls still show up on the audit log.
Can my own backend call Discord too?
Yes. The same Discord connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.
Plug Discord into your agent.
Your users connect Discord once, under your brand. Your agent gets 28 actions behind your policies, with every call on the record.
Free to build · MCP + REST · Audit log on every plan