discource-mcp-tools
Manage and explore forum communities by searching topics, reading posts, and viewing user profiles. Facilitate communication through chat channels, draft management, and categorized content discovery. Streamline interactions with tools for filtering topics and generating post summaries or replies.
How to connect
https://discourse-forum-mcp--king-of-the-grackles.run.tools
tools/list returns the expected tools before relying on them in production.Tools
(15)-
discourse_select_siteValidate and select a Discourse site for subsequent tool calls. Verifies the site is reachable and retrieves its title. Must be called before using other tools when multiple sites are configured.
-
discourse_searchSearch Discourse site content including topics, posts, and users. Use search operators like @username, #tag, category:name for filtered results.
-
discourse_read_topicRead a Discourse topic including its metadata (title, category, tags) and posts. Supports pagination for long topics.
-
discourse_read_postRead a specific post by its ID. Returns the post content, author, creation date, and link to the post.
-
discourse_list_categoriesList all categories visible to the current user. Returns category names and topic counts. Useful for discovering where to post or search.
-
discourse_list_tagsList all available tags on the Discourse site (if tagging is enabled). Returns tag names and usage counts. Use tags in search queries with #tagname.
-
discourse_get_userGet information about a Discourse user by username. Returns name, trust level, join date, bio, and profile link.
-
discourse_list_user_postsGet a paginated list of posts and replies by a specific user, with the most recent first. Returns 30 posts per page. Includes topic title, post date, excerpt, and direct links.
-
discourse_filter_topicsFilter topics with a concise query language: use key:value tokens separated by spaces; category/categories for categories (comma = OR, '=category' = without subcats, '-' prefix = exclude), tag/tags (comma = OR, '+' = AND) and tag_group; status:(open|closed|archived|listed|unlisted|public) and personal in:(bookmarked|watching|tracking|muted|pinned); dates: created/activity/latest-post-(before|after) with YYYY-MM-DD or N (days); numeric: likes[-op]-(min|max), posts-(min|max), posters-(min|max), vi
-
discourse_list_chat_channelsList all public chat channels visible to the current user. Returns channel information including title, description, and member counts. Supports filtering and pagination.
-
discourse_list_user_chat_channelsList all chat channels for the currently authenticated user, including both public channels they're a member of and direct message channels. Includes unread tracking information.
-
discourse_get_chat_messagesGet messages from a chat channel with flexible pagination and date-based filtering. Supports: (1) paginating with direction='past'/'future' from a target_message_id, (2) querying messages around a specific target_date, (3) getting messages around a target_message_id, or (4) fetching from last read position.
-
discourse_list_draftsList all drafts for the current user. Returns draft keys, sequences, and preview content. Use this to find existing drafts before updating them.
-
discourse_get_draftRetrieve a specific draft by its key. Common keys: "new_topic" for new topic drafts, "topic_<id>" for reply drafts.
-
search_discourse_communitiesDiscover Discourse forum communities by topic or find similar communities. Use 'query' for semantic text search (e.g., 'note taking productivity') or 'similar_to' to find communities similar to a known one by URL or ID. Provide exactly one of 'query' or 'similar_to'. Returns communities with confidence scores and engagement metrics.