Skip to main content
Glama
Discord Message Finder MCP

Discord Message Finder MCP

Discord Message Finder MCP

Read-only MCP server for finding Discord messages. It does not send, edit, delete, react to, or moderate messages. The tools are built around answering questions like "where was this discussed?", "which channel has the message?", and "show the context around this result."

Features

  • Search guild messages with Discord's native search filters.

  • Locate a message from a Discord jump URL or channel/message IDs.

  • Read context before and after a message.

  • List searchable channels and active threads.

  • Scan recent channel history when native guild search is not enough.

  • Return stable Discord jump links, timestamps, channel IDs, author IDs, attachments, embeds, and readable snippets.

Related MCP server: discord-py-self-mcp

Requirements

  • Node.js 20 or newer.

  • A Discord bot token.

  • The bot must be in the target guild and have View Channel and Read Message History where you want to search.

  • For message content search/results, enable the Discord MESSAGE CONTENT INTENT privileged intent for the application.

Setup

npm install
npm run build

Create an environment file or configure your MCP client with these variables:

DISCORD_BOT_TOKEN=your_bot_token
DISCORD_DEFAULT_GUILD_ID=optional_default_guild_id
DISCORD_ALLOWED_GUILD_IDS=optional_comma_separated_allowlist

Example MCP client configuration:

{
  "mcpServers": {
    "discord-search": {
      "command": "node",
      "args": ["/Users/dh/work/discord-mcp/build/index.js"],
      "env": {
        "DISCORD_BOT_TOKEN": "YOUR_BOT_TOKEN",
        "DISCORD_DEFAULT_GUILD_ID": "YOUR_GUILD_ID"
      }
    }
  }
}

Tools

check_discord_access

Checks whether the token works and whether a guild can be read.

list_guild_channels

Lists guild channels and optionally active threads, with IDs and parent/category context.

search_guild_messages

Uses Discord guild search to find messages by content, author, channel, mentions, attachments, links, pin status, and time/message bounds.

find_in_recent_history

Scans recent message history across selected channels or matching channel names. This is useful when Discord search indexing is delayed or when you want a bounded recent-history search.

locate_message

Fetches one exact message from a jump URL or channel/message IDs and returns where it lives.

get_message_context

Fetches an exact message plus surrounding messages before and after it.

read_channel_messages

Reads recent messages from a channel with Discord's before, after, or around pagination.

Notes

Discord's native search can return an indexing response with a retry delay, and search access depends on the application's Message Content privileged intent. The server surfaces those responses explicitly instead of hiding them.

Available Tools

7 tools
check_discord_accessA

Check whether the Discord bot token works and whether a guild can be read.

Inputs: guild_id.

find_in_recent_historyA

Scan recent channel history locally. Useful when native Discord search indexing is delayed or a bounded recent search is needed.

Inputs: query (required), guild_id, match_mode, case_sensitive, +7 more.

get_message_contextB

Fetch one Discord message plus surrounding messages before and after it.

Inputs: message_url, guild_id, channel_id, message_id, +2 more.

list_guild_channelsB

List Discord guild channels and active threads so the assistant can identify where to search.

Inputs: guild_id, include_active_threads, only_message_channels, name_query.

locate_messageC

Locate one exact Discord message from a jump URL or channel/message IDs.

Inputs: message_url, guild_id, channel_id, message_id.

read_channel_messagesC

Read messages from a Discord channel with before/after/around pagination.

Inputs: channel_id (required), guild_id, limit, before_message_id, +2 more.

search_guild_messagesB

Search Discord guild messages with native Discord search. Best for finding where a past discussion happened.

Inputs: guild_id, query, channel_ids, author_types, +20 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool serves a distinct purpose: access check, channel listing, two search methods (native and recent history), reading with pagination, context retrieval, and message location from URL. There is no functional overlap that would cause confusion for an agent.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case (e.g., check_discord_access, list_guild_channels, search_guild_messages), making it predictable for an agent to infer functionality.

    Tool Count5/5

    With 7 tools, the server is well-scoped for its domain of Discord message finding. Each tool addresses a core operation without redundancy or unnecessary complexity.

    Completeness5/5

    The tool surface covers the full lifecycle of message discovery: access verification, channel enumeration, multiple search methods, paginated reading, context around a message, and pinpoint location from a URL. No obvious gaps are present.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP server with FTS5 full-text search over a SQLite export of a discord server.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Read-only MCP server for Discord that lists guilds, channels, and reads or searches messages using a self-bot account via discord.py-self.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that enables searching Discord messages using Discord's native search API. Designed for use with Claude Code to find project decisions and communications in Discord.
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      Local, read-only MCP server that connects to Discord via REST API, allowing listing guilds, channels, and messages with strict access controls and no write operations.
      5
      -