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.

CommunicationOAuth 2.0MCP + RESTdiscord.com
AUDIT LOG · DISCORDPOLICY: acme-support
09:41:07 · claude · u_8f2read
discord.list_my_guilds
List My Guilds✓ allowed · 212ms
09:41:08 · claude · u_8f2read
discord.get_user
Get User✓ allowed · 164ms
09:41:09 · claude · u_8f2write
discord.update_user_application_role_connection
Update User Application Role Connection✓ approved · approved by user
09:41:12 · claude · u_8f2destructive
discord.delete_test_entitlement
Delete Test Entitlement (Deprecated)✕ blocked · policy: deny
EVERY DISCORD CALL, ON THE RECORD
01 · USE CASES

What agents do in Discord.

01

Check a user's guild membership

Look up whether a user belongs to a given guild before granting access to a linked service.

02

List a user's connected accounts

Read a user's linked connections to verify identity for a support request.

03

Read-only entitlement checks

Check a user's SKU subscriptions as a read-only lookup before granting access to a paid feature.

02 · ACTIONS

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

20

Look things up. Allowed by default.

  • discord.get_user
    Get User
  • discord.get_invite
    Get Invite (Deprecated)
  • discord.get_gateway
    Get Gateway
  • discord.get_my_user
    Get My User
  • discord.list_my_guilds
    List My Guilds
  • discord.get_public_keys
    Get Public Keys
  • discord.get_guild_widget
    Get Guild Widget
  • discord.get_guild_template
    Get Guild Template
  • discord.list_sticker_packs
    List Sticker Packs
  • discord.get_my_guild_member
    Get my guild member
  • discord.list_my_connections
    List My Connections
  • discord.get_guild_widget_png
    Get Guild Widget PNG
  • discord.get_sku_subscription
    Get SKU Subscription
  • discord.list_sku_subscriptions
    List SKU Subscriptions
  • discord.get_my_oauth2_authorization
    Get my OAuth2 authorization
  • discord.get_openid_connect_userinfo
    Get OpenID Connect userinfo
+ 4 MORE

write

6

Create and change things. Allow, or ask the user first.

  • discord.update_user_application_role_connection
    Update User Application Role Connection
  • discord.leave_guild
    Leave Guild (Deprecated)
  • discord.invite_resolve
    Resolve Invite
  • discord.consume_entitlement
    Consume Entitlement (Deprecated)
  • discord.modify_current_user
    Modify Current User (Deprecated)
  • discord.edit_application_command_permissions
    Edit Application Command Permissions

destructive

2

Delete, cancel or archive. Ask first, or deny outright.

  • discord.delete_test_entitlement
    Delete Test Entitlement (Deprecated)
  • discord.delete_user_application_role_connection
    Delete User Application Role Connection
03 · HOW IT WORKS

Discord in three steps.

  1. 01Your users connect DiscordThey sign in to Discord on Arc0 Connect, under your brand, and approve the access you ask for.
  2. 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.
  3. 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.
POLICY.TS
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
04 · AUTH AND DATA

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
05 · WORKS WITH

Use Discord from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Discord and Arc0, answered.

Q01

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.

Q02

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.

Q03

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.

Q04

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.

Q05

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.

Get started

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