Back to Tools
Communication API Key
discord-bot logo

Discord Bot MCP Tools for AI Agents

Let an agent read channels, search messages, reply to questions, start threads, and manage reactions as your Discord bot.

Available Tools

20 tools available in this integration

DiscordBot.AddReaction

Add an emoji reaction to a Discord message as the bot.

DiscordBot.DeleteMessage

Delete a message from a Discord channel.

DiscordBot.EditMessage

Edit a message the bot posted.

DiscordBot.GetChannel

Get a single Discord channel's name, type, and topic.

DiscordBot.GetMessage

Fetch a single Discord message by id.

DiscordBot.GetServer

Get a single Discord server's name, owner, and member count.

DiscordBot.GetUser

Resolve a user id (such as a message author_id) into a human-readable name.

DiscordBot.ListActiveThreads

List a Discord server's currently active (non-archived) threads.

DiscordBot.ListChannels

List the channels in a Discord server, optionally filtered by type.

DiscordBot.ListMessages

Read a channel's or thread's recent messages, newest first.

DiscordBot.ListPinnedMessages

List the pinned messages in a Discord channel.

DiscordBot.ListServers

List the Discord servers the bot is a member of and can act in.

DiscordBot.PinMessage

Pin a message in a Discord channel so the team can find it later.

DiscordBot.RemoveReaction

Remove the bot's own emoji reaction from a Discord message.

DiscordBot.ReplyToMessage

Reply to an existing Discord message so the answer stays tied to the question.

DiscordBot.SearchMessages

Find messages by text and/or author in one channel or across a whole server.

DiscordBot.SendMessage

Post a new message to a Discord channel as the bot.

DiscordBot.StartThread

Start a thread from a message, standalone in a text channel, or as a forum/media post.

DiscordBot.UnpinMessage

Unpin a previously pinned message in a Discord channel.

DiscordBot.WhoAmI

Return the authenticated Discord bot's own user identity.

Why agent-optimized tools matter

Built for intent, not API schemas

Ask the agent to "find the unanswered questions in our release thread and draft replies without posting them." Arcade helps it use the right Discord Bot tools without guessing server IDs, channel IDs, message IDs, or thread IDs.

Up to 100x fewer tokens

Discord Bot list and search results return focused server, channel, message, user, and thread records instead of entire Discord histories. The agent can load a specific message or discussion only after it knows which one matters.

Complete the workflow end to end

Find a discussion, read the relevant messages, draft a reply, start a follow-up thread, and post or pin the result through one toolkit designed around the complete Discord task.

Make actions predictable and controlled

Arcade tools return structured results and useful errors across users and runs. Teams can apply scope restrictions, redaction, and approval policies so agents follow the same controls every time.

Securing Discord Bot

The more capabilities agents get, the more useful they are. However, more capabilities bring more risks of undesired effects such as data loss and exfiltration.

This is why Arcade provides you with contextual rules that dictate how and when a tool is allowed to run. Arcade’s contextual access lets you govern tool visibility and behavior at every stage of execution and control who can see a tool, what inputs are allowed, and what comes back.

Learn about Contextual Access Policies

For Discord Bot, you can implement some of these policies:

Access when tools are listed for a user
  • Hide DiscordBot.DeleteMessage from agents unless the roles your IDP marks as moderators are active, so regular agents cannot erase messages or evidence.
  • Restrict DiscordBot.SendMessage to agents operating under your approved bot-posting role, so untrusted agents cannot publish announcements or customer-facing replies.
  • Deny DiscordBot.PinMessage to everyone outside your channel-owner and moderator roles, so agents cannot elevate unreviewed messages as team guidance.
Pre-execution before each tool call
  • Require human approval before DiscordBot.DeleteMessage runs, so an agent cannot permanently remove a message without review.
  • Block DiscordBot.EditMessage when the replacement text contains credentials, access tokens, or customer data, so an agent cannot publish secrets in an existing bot message.
  • Require human approval before DiscordBot.ReplyToMessage runs on threads involving customers or incidents, so an agent cannot make an unreviewed commitment in a public conversation.
Post-execution after the tool returns
  • Redact message bodies, attachment URLs, and author IDs from DiscordBot.ListMessages results for channels marked private or under legal hold before they reach the model.
  • Strip message bodies and matching excerpts from DiscordBot.SearchMessages results when they contain credentials, access tokens, or customer personal data, so the model receives only safe metadata.
  • Deny the output of DiscordBot.GetMessage when the message belongs to a private channel or carries a legal-hold marker, so protected conversation content does not reach the model.

How to use Discord Bot with your agent

Pick your MCP client below and follow the setup to connect your Discord bot to an agent. Configure the shared bot credential once, then use Discord from your agent.

Your questions, answered

A Discord Bot MCP server exposes Discord capabilities as structured tools that an AI agent can call through the Model Context Protocol. It can read servers, channels, messages, threads, and users, then post, reply, react, pin, edit, or delete messages as the configured bot.

This integration is built by Arcade rather than exposed as a separate first-party Discord MCP server. Arcade provides the MCP endpoint and runtime for authentication, approval policies, redaction, and access controls around the bot's Discord actions.

Arcade agents can list servers and channels, read recent or pinned messages, search by text or author, resolve users, inspect active threads, and post or reply to messages. They can also start threads, edit their own messages, add or remove their own reactions, pin or unpin messages, and delete messages.

The configured Discord bot needs access to the servers and channels where it will operate. Depending on the workflow, grant only the Discord permissions required for viewing channels and message history, sending messages, creating threads, adding reactions, and managing or deleting messages.

No. Discord Bot uses one shared API key or secret configured once for the integration, rather than each user connecting a separate Discord account. Actions run as that configured bot, and the model never receives the credential.

Yes. Contextual Access policies can require human approval before consequential Discord actions such as deleting a message, posting an announcement, pinning content, or starting a thread. The call proceeds only after the policy's conditions have been satisfied.

Arcade proxies Discord API calls and does not persist your message content as part of normal tool execution. The shared API key or secret is brokered and stored encrypted at rest, and the model never receives it.

Any framework or client that can connect to Arcade's MCP gateway or tool APIs works, including LangChain, OpenAI Agents, CrewAI, Claude Desktop, Claude Code, Cursor, Visual Studio Code, Microsoft Copilot Studio, and GitHub Copilot.

Arcade can continue using the bot credential while it remains valid. If the key or secret is revoked, rotated, or can no longer be used, Discord actions stop until the credential is reconnected or reconfigured.

Discord's bot permissions and API rate limits apply to calls made through Arcade. Limits can vary by route, server, and bot activity, so high-volume searches, message reads, or posts should handle rate-limit responses and retry timing rather than assuming unlimited throughput.

Ready to actually ship your agent?

Connect your agent to Discord Bot with a shared API key, agent-optimized tools and approval controls for consequential actions.