# Connect Discord to your AI agent

> Yes — ClawLink is a hosted Discord MCP server. 27 tools your agent can call from chat, with one-click hosted OAuth and nothing to run locally.

Web version: https://claw-link.dev/hub/discord

ClawLink hosts a managed Discord MCP server that exposes 27 tools to your AI agent. You connect Discord in one click, and your agent can read, create, and update Discord data from chat without you building or running a local MCP server.

## Quick facts

- 27 tools callable from chat
- One-click hosted OAuth
- Works with OpenClaw, Hermes, Claude Code, Cursor, Codex, and any MCP client
- No local server or config files

## Overview

The usual path is: build auth, handle token refresh, wire up the tools. With ClawLink you connect Discord once and start using the real actions from the agent.

## Setup

Discord uses OAuth. You connect it in the browser: click Connect, sign in, approve. ClawLink stores the token and refreshes it on its own. You never touch a key or wire up a redirect URL.

Authentication: hosted OAuth

## What you can do

- **Triage from chat** — Ask in plain English. The agent pulls up the right Discord thread, channel, or inbox so you stay in one window.
- **Draft, then send** — The agent writes a message in Discord, shows you the draft, and sends once you say go.
- **Context in one place** — Message history, who's involved, and recent activity from Discord sit next to the work you're doing.

## Discord tools

27 Discord tools, ready the moment you connect.

- `discord_consume_entitlement` — Marks a one-time purchase consumable entitlement as consumed for a given application. Only applicable to entitlements backed by one-time purchase consumable SKUs.
- `discord_edit_application_command_permissions` — Edits the permissions for a specific application command in a guild. Requires OAuth2 Bearer token (bot tokens will error). The authorizing user must have MANAGE_GUILD and MANAGE_ROLES permissions in the target guild.
- `discord_get_application_command_permissions` — Retrieves the permissions for a specific application command in a guild. Requires OAuth2 Bearer token (bot tokens will error). The authorizing user must have MANAGE_GUILD and MANAGE_ROLES permissions in the target guild.
- `discord_get_batch_application_command_permissions` — Retrieves permissions for all commands of an application in a guild. Returns a list of permission objects for each command. Requires OAuth2 Bearer token (Bot tokens will error).
- `discord_get_current_user_application_entitlements` — Tool to retrieve entitlements for the current user for a given application. Use when you need to check what premium offerings or subscriptions the authenticated user has access to.
- `discord_get_gateway` — Tool to retrieve a valid WebSocket (wss) URL for establishing a Gateway connection to Discord. Use when you need to connect to the Discord Gateway for real-time events.
- `discord_get_guild_template` — Tool to retrieve information about a Discord guild template using its unique template code. Use when you need to get details about a guild template for creating new servers.
- `discord_get_guild_widget` — Tool to retrieve the guild widget in JSON format. Use when you need to get public information about a Discord guild's widget that can be displayed on external websites. The widget must be enabled in the guild's server settings.
- `discord_get_guild_widget_png` — Tool to retrieve a PNG image widget for a Discord guild. Use when you need a visual representation of the guild widget that can be displayed on external websites. The widget must be enabled in the guild's server settings.
- `discord_get_my_guild_member` — Retrieves the guild member object for the currently authenticated user within a specified guild, including roles, nickname, join date, and permissions.
- `discord_get_my_oauth2_authorization` — Retrieves current OAuth2 authorization details for the application, including app info, scopes
- `discord_get_my_user` — Fetches comprehensive profile information for the currently authenticated Discord user
- `discord_get_openid_connect_userinfo` — Retrieve OpenID Connect compliant user information for the authenticated user
- `discord_get_public_keys` — Retrieve Discord OAuth2 public keys
- `discord_get_sku_subscription` — Retrieves a specific subscription by ID for a given SKU
- `discord_get_user` — Retrieve information about a Discord user
- `discord_get_user_application_role_connection` — Retrieves the application role connection for the currently authenticated user for a specified
- `discord_invite_resolve` — Resolve and retrieve information about a Discord invite code
- `discord_list_my_connections` — Retrieves a list of the authenticated user's connected third-party accounts on Discord
- `discord_list_my_guilds` — Lists the current user's guilds, returning partial data for each; primarily used for displaying
- `discord_list_sku_subscriptions` — Lists all subscriptions for a given SKU
- `discord_list_sticker_packs` — Retrieve all available Discord Nitro sticker packs
- `discord_modify_current_user` — Modifies the currently authenticated Discord user's profile
- `discord_update_user_application_role_connection` — Updates the application role connection for the currently authenticated user for a specified
- `discord_leave_guild` — Leaves a Discord guild (server) on behalf of the currently authenticated user

## Example prompts

- **Consume entitlement:** Use Discord to consume entitlement and walk me through it.
- **Edit application command permissions:** Use Discord to edit application command permissions and walk me through it.
- **Get application command permissions:** Pull the data from Discord. Sum it up and flag anything I need to look at.
- **Get batch application command permissions:** Pull the data from Discord. Sum it up and flag anything I need to look at.

## ClawLink vs. building it yourself

| | Manual | ClawLink |
|---|---|---|
| Connection | Build it yourself. You register a developer app with Discord, set up redirect URLs, handle the consent screen, store and refresh access tokens, and redo the wiring when scopes change. | Hosted hosted OAuth. Connect once in the browser. ClawLink owns the lifecycle. |
| Maintenance | Token refresh, permission debugging, env config, every edge case. All yours. | ClawLink handles the plumbing. You focus on the workflow. |
| Time to first call | Days to weeks. Auth, storage, tool wiring, testing. Then the agent can act. | About two minutes from sign-up to the agent calling Discord. |

## FAQ

### How do I connect Discord to my AI agent?

Install ClawLink, open the dashboard, click Connect next to Discord, and finish the hosted OAuth flow. Your agent can call Discord from the next message. Two minutes, total.

### Is there a Discord MCP server I can use?

Yes. ClawLink exposes Discord as 27 tools your agent calls through a hosted MCP-compatible runtime. You don't run a local server or edit a config file. The tools are there the moment you connect.

### Do I need Discord API credentials?

No separate API key. You sign in to Discord through the normal OAuth flow and ClawLink handles the token after that.

### How much does it cost?

Your first integration is free, plus a 7-day trial of the full catalog. Paid plans unlock the rest of the library.

### Can I set this up from the terminal instead of the dashboard?

Yes. Run npx -y @useclawlink/cli login, then npx -y @useclawlink/cli connect discord. The first opens a browser to sign in to ClawLink. The second opens a browser to authorize Discord. No API keys to create. Works with OpenClaw, Hermes, Claude Code, Cursor, Codex, and any agent that runs shell commands.
