{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"smithery_0oeaaeo420-raw-discord-mcp","slug":"0oeaaeo420-raw-discord-mcp","name":"raw-discord-mcp","type":"mcp","url":"https://smithery.ai/servers/0oeaaeo420/raw-discord-mcp","page_url":"https://unfragile.ai/0oeaaeo420-raw-discord-mcp","categories":["mcp-servers"],"tags":["mcp","model-context-protocol","smithery:0oeaaeo420/raw-discord-mcp"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"smithery_0oeaaeo420-raw-discord-mcp__cap_0","uri":"capability://tool.use.integration.discord.message.retrieval.and.context.injection","name":"discord message retrieval and context injection","description":"Retrieves raw message data from Discord channels and servers, converting Discord API responses into structured context that can be injected into MCP-compatible LLM clients. Uses Discord.py or similar library bindings to authenticate via bot token and fetch message history, metadata, and thread information, then normalizes the output into MCP resource format for seamless integration with Claude, other LLMs, or AI agents.","intents":["I want my AI agent to read and understand Discord conversation history to provide context-aware responses","I need to feed Discord messages into an LLM for analysis, summarization, or moderation","I want to build a chatbot that can reference specific Discord channels or threads as knowledge sources"],"best_for":["AI agent developers building Discord-integrated assistants","Teams using Claude or other MCP-compatible LLMs who want Discord as a context source","Builders creating moderation or analytics tools that need raw Discord data"],"limitations":["Requires Discord bot token with appropriate permissions (read message history, view channels)","Rate-limited by Discord API (100 requests per minute per bot)","Cannot retrieve deleted messages or messages older than Discord's retention policy","No built-in pagination handling — large channel histories may require manual chunking"],"requires":["Discord bot token with MESSAGE_CONTENT intent enabled","MCP client compatible with resource-based protocol (Claude Desktop, Cline, etc.)","Python 3.8+ or Node.js 16+ depending on implementation","Network access to Discord API endpoints"],"input_types":["channel_id (string or integer)","server_id / guild_id (string or integer)","message_id (string or integer)","query parameters (limit, before, after timestamps)"],"output_types":["structured JSON with message objects","message content (text)","metadata (author, timestamp, reactions, attachments)","thread information and replies"],"categories":["tool-use-integration","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_0oeaaeo420-raw-discord-mcp__cap_1","uri":"capability://tool.use.integration.discord.channel.enumeration.and.metadata.extraction","name":"discord channel enumeration and metadata extraction","description":"Discovers and catalogs all accessible Discord channels, servers, and threads within a bot's permission scope, extracting metadata including channel type (text, voice, thread), topic, permissions, member count, and creation timestamps. Implements recursive traversal of guild hierarchies and category structures, normalizing channel relationships into a queryable resource tree that MCP clients can browse and reference.","intents":["I want to list all channels my AI agent has access to so I can select which ones to monitor or analyze","I need to understand the structure of a Discord server programmatically to route messages to the right context","I want to build a discovery interface that shows available Discord data sources to my LLM"],"best_for":["Multi-server Discord bot operators managing complex guild hierarchies","Developers building admin dashboards or configuration UIs for Discord-integrated AI systems","Teams needing automated server structure documentation or compliance auditing"],"limitations":["Enumeration speed depends on number of guilds and channels (can be slow for 100+ servers)","Requires GUILD_MEMBERS intent which may trigger privileged intent approval process","Cannot enumerate private channels unless bot has explicit permissions","Metadata refresh is point-in-time; does not track real-time channel creation/deletion"],"requires":["Discord bot token with GUILDS and GUILD_CHANNELS intents","Appropriate permissions in each guild (VIEW_CHANNEL at minimum)","MCP server running with persistent connection to Discord"],"input_types":["guild_id (optional filter)","include_archived (boolean)","include_threads (boolean)"],"output_types":["hierarchical channel list (JSON)","channel metadata objects","permission matrices","category and thread relationships"],"categories":["tool-use-integration","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_0oeaaeo420-raw-discord-mcp__cap_2","uri":"capability://search.retrieval.discord.message.search.and.filtering","name":"discord message search and filtering","description":"Implements server-side message search across Discord channels using Discord's native search API or local indexing, supporting filters by author, date range, content keywords, and message type. Returns paginated result sets with relevance scoring, enabling LLMs to locate specific conversations or threads without loading entire channel histories. Handles Discord's search syntax (from:, before:, after:, has:) and translates them into MCP query parameters.","intents":["I want my AI agent to find messages about a specific topic without reading the entire channel history","I need to search for messages from a specific user or time period to provide targeted context","I want to build a semantic search interface that finds relevant Discord conversations for analysis"],"best_for":["Developers building AI-powered Discord search or knowledge retrieval features","Teams needing efficient context selection for large, high-volume Discord servers","Builders creating analytics or compliance tools that need targeted message queries"],"limitations":["Discord's native search API has limited query syntax and may not support all filter combinations","Search results are limited to 25 messages per query by Discord API","Cannot search across multiple servers in a single query","Semantic search requires additional embedding infrastructure (not built-in)"],"requires":["Discord bot token with MESSAGE_CONTENT intent","Access to channels being searched","Optional: vector database for semantic search (Pinecone, Weaviate, etc.)"],"input_types":["query string (text)","channel_id (string)","author_id (string, optional)","date_range (before/after timestamps)","limit (integer, max 25)"],"output_types":["paginated message list (JSON)","relevance scores","message snippets with context","result metadata (total count, has_more)"],"categories":["search-retrieval","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_0oeaaeo420-raw-discord-mcp__cap_3","uri":"capability://tool.use.integration.discord.message.posting.and.editing","name":"discord message posting and editing","description":"Enables MCP clients to send, edit, and delete messages in Discord channels through the MCP protocol, with support for embeds, attachments, and formatting. Implements Discord's message object schema (content, embeds, components) and handles rate limiting, permission validation, and error recovery. Allows LLMs to take actions in Discord (respond to conversations, post updates, correct mistakes) as part of agentic workflows.","intents":["I want my AI agent to respond to Discord messages and participate in conversations","I need to post automated updates or notifications to Discord channels from my LLM workflow","I want to enable my agent to correct or update its own messages if it detects an error"],"best_for":["Developers building conversational Discord bots powered by LLMs","Teams automating notifications or status updates to Discord channels","Builders creating interactive agents that need bidirectional Discord communication"],"limitations":["Subject to Discord rate limits (5 messages per 5 seconds per channel)","Cannot post to channels without explicit SEND_MESSAGES permission","Embeds are limited to 6000 characters total and 25 fields","Message edits only work on messages posted by the bot itself","No support for slash commands or interactions (separate capability)"],"requires":["Discord bot token with SEND_MESSAGES and MANAGE_MESSAGES intents","Appropriate permissions in target channels","MCP client with tool-calling support"],"input_types":["channel_id (string)","content (string, max 2000 chars)","embeds (array of embed objects)","attachments (file uploads)","message_id (for edits/deletes)"],"output_types":["message object (JSON with id, timestamp, author)","success/failure status","error details if rate-limited or permission denied"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_0oeaaeo420-raw-discord-mcp__cap_4","uri":"capability://tool.use.integration.discord.user.and.member.profile.retrieval","name":"discord user and member profile retrieval","description":"Fetches user profiles, member information, and role assignments from Discord servers, including username, avatar, status, roles, join date, and custom metadata. Implements caching to reduce API calls and supports bulk member queries for large servers. Normalizes user data into a consistent schema that LLMs can reference when analyzing conversations or making decisions based on user context.","intents":["I want my AI agent to know who is speaking and what roles they have in the server","I need to retrieve user information to provide personalized responses or enforce role-based access control","I want to analyze member activity or engagement patterns across a Discord server"],"best_for":["Developers building context-aware Discord bots that need user information","Teams implementing role-based access control in Discord-integrated AI systems","Builders creating analytics or moderation tools that track member metadata"],"limitations":["Requires GUILD_MEMBERS intent which may need privileged intent approval","Member data is guild-specific; same user has different roles in different servers","Cannot retrieve deleted user accounts or historical member data","Bulk member queries are rate-limited and may timeout for servers with 100k+ members"],"requires":["Discord bot token with GUILD_MEMBERS intent","Appropriate permissions in the guild","Optional: caching layer (Redis, in-memory) for performance"],"input_types":["user_id (string)","guild_id (string)","include_roles (boolean)"],"output_types":["user object (username, avatar, id)","member object (roles, join_date, nick)","role list (role ids and names)"],"categories":["tool-use-integration","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_0oeaaeo420-raw-discord-mcp__cap_5","uri":"capability://tool.use.integration.discord.reaction.and.emoji.handling","name":"discord reaction and emoji handling","description":"Manages message reactions and emoji interactions, allowing LLMs to add reactions to messages, retrieve reaction counts, and interpret emoji reactions as user feedback or voting signals. Supports both standard Unicode emojis and custom Discord server emojis, with caching of emoji metadata. Enables feedback loops where LLM responses can be validated through Discord reactions.","intents":["I want my AI agent to react to messages with emojis to indicate understanding or sentiment","I need to collect user feedback on LLM responses using Discord reactions","I want to build a voting or polling system where emoji reactions represent choices"],"best_for":["Developers building interactive Discord bots with feedback mechanisms","Teams implementing reaction-based voting or polling in Discord","Builders creating engagement features that use emoji reactions as signals"],"limitations":["Cannot retrieve reactions added before the bot was invited to the server","Custom emoji reactions only work if the bot has access to the emoji's server","Reaction data is limited to emoji type and count; cannot identify individual reactors without additional API calls","Adding reactions is rate-limited (1 per second per message)"],"requires":["Discord bot token with ADD_REACTIONS and READ_MESSAGE_HISTORY intents","MANAGE_MESSAGES permission for removing reactions"],"input_types":["message_id (string)","channel_id (string)","emoji (string, Unicode or custom emoji id)"],"output_types":["reaction list (emoji, count)","success/failure status","emoji metadata (name, id, animated)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_0oeaaeo420-raw-discord-mcp__cap_6","uri":"capability://tool.use.integration.discord.thread.and.conversation.threading","name":"discord thread and conversation threading","description":"Manages Discord threads (both public and private), enabling creation, retrieval, and message posting within threaded conversations. Implements thread metadata extraction (creator, creation time, archive status) and supports archiving/unarchiving threads. Allows LLMs to organize conversations into threads and maintain separate context for parallel discussions within a single channel.","intents":["I want my AI agent to create threads to organize related conversations and keep discussions separate","I need to retrieve messages from a specific thread to provide context-aware responses","I want to automatically archive threads when conversations are complete"],"best_for":["Developers building Discord bots that manage complex multi-topic conversations","Teams using threads to organize support tickets or issue tracking in Discord","Builders creating conversation management systems that need thread-level granularity"],"limitations":["Threads can only be created in text channels, not in DMs or voice channels","Archived threads are read-only and cannot receive new messages","Thread creation is rate-limited (1 per 5 seconds per channel)","Cannot retrieve threads created before the bot was invited"],"requires":["Discord bot token with CREATE_PUBLIC_THREADS and CREATE_PRIVATE_THREADS intents","MANAGE_THREADS permission for archiving/unarchiving"],"input_types":["channel_id (string)","thread_name (string)","message_id (for creating thread from message)","auto_archive_duration (integer, minutes)"],"output_types":["thread object (id, name, creator, created_at)","thread metadata (archived, member_count)","messages within thread"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_0oeaaeo420-raw-discord-mcp__cap_7","uri":"capability://tool.use.integration.discord.webhook.and.event.streaming","name":"discord webhook and event streaming","description":"Implements webhook-based event streaming from Discord to the MCP server, enabling real-time notification of messages, reactions, member joins, and other server events. Uses Discord's gateway connection or webhook payloads to push events to the MCP server, which can then trigger LLM actions or update context. Handles event deduplication and reconnection logic for reliable event delivery.","intents":["I want my AI agent to react in real-time to Discord messages without polling","I need to trigger LLM workflows when specific Discord events occur (new member, message reaction, etc.)","I want to stream Discord events to my LLM for continuous monitoring and response"],"best_for":["Developers building real-time Discord bots that need low-latency event handling","Teams implementing event-driven workflows triggered by Discord activity","Builders creating monitoring or alerting systems that watch Discord servers"],"limitations":["Requires persistent WebSocket connection to Discord gateway (adds memory overhead)","Event ordering is not guaranteed across shards for large servers","Webhook approach requires exposing a public HTTP endpoint (security consideration)","Gateway connection can be interrupted; requires reconnection and resume logic"],"requires":["Discord bot token with appropriate intents (MESSAGE_CONTENT, GUILD_MEMBERS, etc.)","Public HTTP endpoint for webhook delivery (if using webhooks)","Network connectivity to Discord gateway or webhook delivery service"],"input_types":["event_types (array of event names to subscribe to)","webhook_url (string, for webhook-based delivery)"],"output_types":["event objects (JSON with type, data, timestamp)","message events (content, author, channel)","reaction events (emoji, user, message)","member events (join, leave, role change)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"smithery_0oeaaeo420-raw-discord-mcp__cap_8","uri":"capability://safety.moderation.discord.permission.validation.and.access.control","name":"discord permission validation and access control","description":"Validates bot and user permissions before executing actions, checking channel permissions, role-based access, and message author authorization. Implements Discord's permission bitfield system and role hierarchy, preventing unauthorized actions and providing clear error messages when permissions are insufficient. Enables LLMs to make permission-aware decisions about which actions are feasible.","intents":["I want my AI agent to check permissions before attempting actions to avoid errors","I need to enforce role-based access control so only authorized users can trigger certain LLM actions","I want to provide helpful error messages when users lack permissions for requested actions"],"best_for":["Developers building multi-user Discord bots with permission-sensitive operations","Teams implementing role-based access control in Discord-integrated AI systems","Builders creating admin tools that need to respect Discord's permission hierarchy"],"limitations":["Permission checks are point-in-time; roles can change between check and action","Cannot check permissions for users not in the server","Permission inheritance through role hierarchy adds complexity; edge cases possible","No support for channel-specific permission overwrites in some implementations"],"requires":["Discord bot token with GUILDS intent","Member and role data (requires GUILD_MEMBERS intent for full accuracy)"],"input_types":["user_id (string)","channel_id (string)","permission_name (string, e.g., 'SEND_MESSAGES')","guild_id (string)"],"output_types":["boolean (has_permission)","missing_permissions (array of permission names)","error message (human-readable explanation)"],"categories":["safety-moderation","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":26,"verified":false,"data_access_risk":"high","permissions":["Discord bot token with MESSAGE_CONTENT intent enabled","MCP client compatible with resource-based protocol (Claude Desktop, Cline, etc.)","Python 3.8+ or Node.js 16+ depending on implementation","Network access to Discord API endpoints","Discord bot token with GUILDS and GUILD_CHANNELS intents","Appropriate permissions in each guild (VIEW_CHANNEL at minimum)","MCP server running with persistent connection to Discord","Discord bot token with MESSAGE_CONTENT intent","Access to channels being searched","Optional: vector database for semantic search (Pinecone, Weaviate, etc.)"],"failure_modes":["Requires Discord bot token with appropriate permissions (read message history, view channels)","Rate-limited by Discord API (100 requests per minute per bot)","Cannot retrieve deleted messages or messages older than Discord's retention policy","No built-in pagination handling — large channel histories may require manual chunking","Enumeration speed depends on number of guilds and channels (can be slow for 100+ servers)","Requires GUILD_MEMBERS intent which may trigger privileged intent approval process","Cannot enumerate private channels unless bot has explicit permissions","Metadata refresh is point-in-time; does not track real-time channel creation/deletion","Discord's native search API has limited query syntax and may not support all filter combinations","Search results are limited to 25 messages per query by Discord API","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.28,"ecosystem":0.38999999999999996,"match_graph":0.25,"freshness":0.5,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:25.061Z","last_scraped_at":"2026-05-03T15:19:13.222Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=0oeaaeo420-raw-discord-mcp","compare_url":"https://unfragile.ai/compare?artifact=0oeaaeo420-raw-discord-mcp"}},"signature":"Py8qig0S/hGoVbxr47rHmAw1W726sgfa9b3X5QAK2R4M3kzVxnZizzDkztT1IwF5xAgUZd3mibj8nqD10txxBQ==","signedAt":"2026-06-22T14:02:18.154Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/0oeaaeo420-raw-discord-mcp","artifact":"https://unfragile.ai/0oeaaeo420-raw-discord-mcp","verify":"https://unfragile.ai/api/v1/verify?slug=0oeaaeo420-raw-discord-mcp","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}