Discord

io.github.mcp-dirPublished by GitHub account mcp-dirv0.1.0Updated Oct 24, 2026

Connect a Discord bot (bot token from the developer portal) to read/send messages, list guilds and c

VerifiedStreamable HTTPWeb executableProductivity & WorkflowCommunication & Collaboration

Overview

AI-generated overview

Lets an assistant read and send Discord messages, list guilds, channels and members, react, and send DMs through a hosted Discord bot connection.

What you can do
A hosted MCP server that connects a Discord bot to an assistant over HTTP. It exposes 15 tools covering account and bot profile lookup, guild and channel listing, channel and message reading, member listing, user profiles, sending messages or DMs, editing and deleting messages, and adding reactions. Several tools accept bulk IDs for batched execution, and an optional default guild ID can be set per connection.
When to use it
Useful when an assistant needs to work inside Discord: summarizing or searching channel history, posting announcements, replying to messages, sending direct messages, or looking up server members and channels. It fits teams and communities that already run a Discord bot and want an assistant to act on it.
Requirements
A remote MCP-over-HTTP client pointed at the hosted server URL. A Discord bot token from the Discord developer portal, linked to the install. The Server Members intent must be enabled in the developer portal for member listing. Login to the service is described as magic-link based.
Before you install
The bot token grants access to whatever the bot can see and do, so scope its permissions carefully. Tools can send, edit and delete messages; deletion is described as irreversible, and deleting other users' messages needs Manage Messages. Data returned by the tools is sent to whichever LLM host is used, a sub-processor outside the provider's control. The hosted server itself is proprietary, not open source.

Installation

In SourceWeft

  1. Open Discord in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.mcp-dir%2Fdiscord-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "discord": {
      "type": "http",
      "url": "https://api.mcp.ai/p_discord"
    }
  }
}

README

This repository has no README.

Tools

21

discord_list_accounts

List Discord bot connections linked to this install — id, label, default guild_id.

Parametersaccount

discord_get_me

Return the bot's own user profile (id, username, discriminator, avatar, etc).

Parametersaccount

discord_list_guilds

List the servers (guilds) the bot is a member of.

Parametersafterlimitbeforeaccount

discord_get_guild

Get one guild's metadata. Falls back to the connection's default guild_id. Bulk support: accepts guild_ids for batched execution.

Parametersaccountguild_idguild_ids

discord_list_channels

List channels in a guild. Falls back to the connection's default guild_id. Bulk support: accepts guild_ids for batched execution.

Parametersaccountguild_idguild_ids

discord_list_guild_members

List members of a guild. Requires the bot to have the Server Members intent enabled in the developer portal — may return 403 otherwise. Bulk support: accepts guild_ids for batched execution.

Parametersafterlimitaccountguild_idguild_ids

discord_get_channel

Get a channel's metadata (type, name, topic, parent, permissions). Bulk support: accepts channel_ids for batched execution.

Parametersaccountchannel_idrequiredchannel_ids

discord_list_messages

Read recent messages from a channel (newest first). Pagination via `before` / `after` / `around` (message ids). Requires Message Content intent for non-bot message bodies in some cases. Bulk support: accepts channel_ids for batched execution.

Parametersafterlimitaroundbeforeaccountchannel_idrequiredchannel_ids

discord_get_message

Fetch a single message by id. Bulk support: accepts channel_ids, message_ids for batched execution.

Parametersaccountchannel_idrequiredmessage_idrequiredchannel_idsmessage_ids

discord_get_user

Public profile of any Discord user by id. Bulk support: accepts user_ids for batched execution.

Parametersaccountuser_idrequireduser_ids

discord_send_message

Post a message to a channel. Provide `content` (text up to 2000 chars), `embeds` (rich JSON), or both. `reply_to` makes it a reply. Bulk support: accepts channel_ids for batched execution.

Parametersembedsaccountcontentreply_tochannel_idrequiredchannel_ids

discord_send_dm

Open a DM channel with a user and send them a message. The bot and the user must share a guild. Bulk support: accepts user_ids for batched execution.

Parametersembedsaccountcontentuser_idrequireduser_ids

discord_edit_message

Edit a previously-sent message (must be authored by this bot). Bulk support: accepts channel_ids, message_ids for batched execution.

Parametersembedsaccountcontentchannel_idrequiredmessage_idrequiredchannel_idsmessage_ids

discord_add_reaction

Add a reaction to a message. `emoji` is either unicode (e.g. `👍`) or `name:id` for custom guild emoji. Bulk support: accepts channel_ids, message_ids for batched execution.

Parametersemojirequiredaccountchannel_idrequiredmessage_idrequiredchannel_idsmessage_ids

discord_delete_message

Delete a message. Irreversible. Bot needs Manage Messages to delete messages authored by other users. Bulk support: accepts channel_ids, message_ids for batched execution.

Parametersaccountchannel_idrequiredmessage_idrequiredchannel_idsmessage_ids

show_version

Show Version

Show the current MCP platform and adapter versions.

Takes no parameters.

report_bug

Report Bug

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

Parameterscontextmessagerequiredconversation

connect

Connection Status

Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

Takes no parameters.

toolkit_info

Toolkit Info

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

Takes no parameters.

marketplace

Marketplace

The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.

Parameterslimitqueryactionmcp_idmessagetool_idargumentsimmediatetier_slugprompt_bodyprompt_slugprompt_tool+11 more

authenticate

Authenticate

MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.

Parameterstoken

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.