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…
Quick Start
# Connect this server (installs CLI if needed)
npx -y smithery mcp add king-of-the-grackles/discourse-forum-mcp
# Browse available tools
npx -y smithery tool list king-of-the-grackles/discourse-forum-mcp
# Get full schema for a tool
npx -y smithery tool get king-of-the-grackles/discourse-forum-mcp discourse_select_site
# Call a tool
npx -y smithery tool call king-of-the-grackles/discourse-forum-mcp discourse_select_site '{}'Direct MCP Connection
Endpoint: https://discourse-forum-mcp--king-of-the-grackles.run.tools
Optional config:
site(query) — Discourse instance URL (e.g. https://meta.discourse.org)api_key(query) — Discourse Admin API key for full accessapi_username(query) — Discourse API username (e.g. system)user_api_key(query) — Discourse User API key (alternative to admin API key)user_api_client_id(query) — Client ID for User API key authenticationread_only(query) — Restrict to read-only operationsallow_writes(query) — Enable write operations like creating posts and topics (true/false)tools_mode(query) — Tool selection mode: auto, all, read, write, or searchmax_read_length(query) — Maximum character length for content readslog_level(query) — Logging verbosity: debug, info, warn, or error
Tools (15)
discourse_select_site— Validate and select a Discourse site for subsequent tool calls. Verifies the site is reachable and retrieves its title.…discourse_search— Search Discourse site content including topics, posts, and users. Use search operators like @username, #tag, category:n…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 …discourse_list_tags— List all available tags on the Discourse site (if tagging is enabled). Returns tag names and usage counts. Use tags in …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. In…discourse_filter_topics— Filter topics with a concise query language: use key:value tokens separated by spaces; category/categories for categori…discourse_list_chat_channels— List all public chat channels visible to the current user. Returns channel information including title, description, an…discourse_list_user_chat_channels— List all chat channels for the currently authenticated user, including both public channels they're a member of and dir…discourse_get_chat_messages— Get messages from a chat channel with flexible pagination and date-based filtering. Supports: (1) paginating with direc…discourse_list_drafts— List all drafts for the current user. Returns draft keys, sequences, and preview content. Use this to find existing dra…discourse_get_draft— Retrieve a specific draft by its key. Common keys: "new_topic" for new topic drafts, "topic_" for reply drafts.search_discourse_communities— Discover Discourse forum communities by topic or find similar communities. Use 'query' for semantic text search (e.g., …
# Get full input/output schema for a tool
npx -y smithery tool get king-of-the-grackles/discourse-forum-mcp Resources
discourse://site-info— Current Discourse site configuration and connection status
Prompts (4)
discourse-search-help(topic) — Generate an optimized search query for Discourse using search operatorsdiscourse-post-draft(type, topic) — Help draft a well-structured Discourse post or replydiscourse-summarize-topic(topic_id, focus) — Generate a summary of a Discourse topic discussiondiscourse-reply-suggestions(topic_id, tone) — Generate thoughtful reply suggestions for a Discourse topic