discourse_select_site
Validate 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_search
Search Discourse site content including topics, posts, and users. Use search operators like @username, #tag, category:name for filtered results.
discourse_read_topic
Read a Discourse topic including its metadata (title, category, tags) and posts. Supports pagination for long topics.
discourse_read_post
Read a specific post by its ID. Returns the post content, author, creation date, and link to the post.
discourse_list_categories
List all categories visible to the current user. Returns category names and topic counts. Useful for discovering where to post or search.
discourse_list_tags
List 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_user
Get information about a Discourse user by username. Returns name, trust level, join date, bio, and profile link.
discourse_list_user_posts
Get 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_topics
Filter 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), views-(min|max); order: activity|created|latest-post|likes|likes-op|posters|title|views|category with optional -asc; free text terms are matched full-text. Results are permission-aware.
discourse_list_chat_channels
List 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_channels
List 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_messages
Get 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_drafts
List all drafts for the current user. Returns draft keys, sequences, and preview content. Use this to find existing drafts before updating them.
discourse_get_draft
Retrieve a specific draft by its key. Common keys: "new_topic" for new topic drafts, "topic_<id>" for reply drafts.
search_discourse_communities
Discover 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.