All reports

@discourse/mcp

io.github.discourse/mcp · version 0.3.1 · 30,235 weekly npm downloads · audited 2026-11-03

MCPVetter badge Notes

Findings

No hidden-instruction or invisible-character findings in any tool, prompt, or resource description.

Claude Connectors Directory readiness

Checks the directory's published tool requirements that are visible from tools/list. Passing them does not guarantee acceptance.

Supply chain

Tools (16)

NameTitleHintDescription
discourse_select_siteSelect SitenoneValidate and select a Discourse site. Returns JSON with site URL and title.
discourse_searchDiscourse Searchread-onlySearch site content. Returns JSON object with results array of matching topics (id, slug, title) and meta (total, has_more).
discourse_filter_topicsFilter Topicsread-onlyDiscover topics through a filtered, top, or hot view. Filtered uses Discourse TopicsFilter syntax; top uses Discourse's authoritative top score and defaults to weekly; hot is defined exactly as daily top (not sentiment, …
discourse_read_topicRead Topicread-onlyRead topic metadata and posts. Large post limits can require multiple upstream requests. For moderation queues, prefer reviewable list/detail evidence instead of fanning this tool out across flagged topics.
discourse_read_postRead Postread-onlyRead a specific post. Returns JSON with id, topic_id, post_number, username, created_at, and raw content.
discourse_read_topic_postsRead Selected Topic Postsread-onlyRead exact, earliest, latest, around-post, or username-filtered topic evidence. Selection is bounded to 50 posts and reports the visible stream size without claiming the entire topic was loaded.
discourse_search_postsSearch Postsread-onlySearch post-level evidence with Discourse query syntax. Unlike discourse_search, this preserves matched posts, highlighted blurbs, authors, topics, categories, and truthful bounded continuation. This is keyword search, n…
discourse_get_userGet Userread-onlyGet user info. Returns JSON with id, username, name, trust_level, created_at, bio, admin, and moderator.
discourse_list_user_postsList User Postsread-onlyGet paginated list of user posts/replies. Returns JSON object with posts array (id, topic_id, post_number, slug, title, created_at, excerpt, category_id) and meta (page, limit, has_more).
discourse_list_usersList Usersread-onlyList users via admin API. Requires admin API key. Returns ~100 users per page (Discourse's fixed page size). Returns JSON with users array and pagination meta.
discourse_get_chat_messagesGet Chat Messagesread-onlyGet messages from a chat channel. Returns JSON object with channel_id, messages array (id, username, created_at, message, edited, thread_id, in_reply_to_id), and meta.
discourse_get_draftGet Draftread-onlyRetrieve a specific draft by key. Returns JSON with draft_key, sequence, and parsed data (title, reply, categoryId, tags, action).
discourse_get_queryGet Data Explorer Queryread-onlyGet full details of a Data Explorer query including SQL and parameters. Requires admin API key.
discourse_run_queryRun Data Explorer Queryread-onlyExecute a Data Explorer query with parameters. Returns columns, rows, result_count, duration_ms. Queries run in read-only transactions with 10-second timeout. Requires admin API key.
discourse_list_private_messagesList Private Messagesread-onlyList authenticated personal or group private-message mailboxes. Returns normalized JSON messages and pagination metadata.
discourse_read_private_messageRead Private Messageread-onlyRead an authenticated private message, its posts, and direct allowed-user and allowed-group records. Rejects public topics.

Check your own setup

npx mcpvetter scan --live

Badge

Add this to a README:

[![MCPVetter](https://mcpvetter.com/badge/discourse-mcp.svg)](https://mcpvetter.com/servers/discourse-mcp)

Publish this server?

Get the MCPVetter verified badge, a re-audit within 24 hours of every npm release, and an email whenever tools, findings, or Claude directory readiness change. $29 per server per month. You prove ownership first, free.