Community (opt-in)

Moderation

Get Review Queue Count

read-onlyidempotentopen-world
discourse_get_review_queue_count

Get the authoritative count of pending reviewable records visible to the authenticated user. This counts queue items, not individual flag/score records; upstream Guardian permissions remain authoritative.

List Reviewables

read-onlyidempotentopen-world
discourse_list_reviewables

Work through the exhaustive visible Discourse queue in pages of 10. For ordinary triage, call with only status=pending and offset=0—do not guess topic/category/type filters. Use meta.total and follow next_offset while has_more is true. Each result already includes bounded evidence and exact dynamic actions; fetch detail only for a shortlisted item that needs fresher context.

Parameters

offsetinteger>= 0

Queue offset; start at 0 and follow meta.next_offset

statusstringpendingapprovedrejectedignoreddeletedallpending

Reviewable status; defaults to pending

typestring

Exact reviewable class such as ReviewableFlaggedPost; blank/all/any means no type filter

topic_idinteger>= 0

Exact topic ID; omit or use 0 for no topic filter

category_idinteger>= 0

Exact category ID; omit or use 0 for no category filter

prioritystring

Exact upstream priority filter; omit or pass blank for all priorities

usernamestring

Target username filter; omit or pass blank for all users

reviewed_bystring

Reviewer username; omit or pass blank for all reviewers

claimed_bystring

Claiming moderator username; omit or pass blank for all claim states

flagged_bystring

Flagger username; omit or pass blank for all flaggers

from_datestring

Inclusive ISO date/time lower bound; omit or pass blank for no lower bound

to_datestring

Inclusive ISO date/time upper bound; omit or pass blank for no upper bound

sort_orderstring

Exact upstream queue sort order; omit or pass blank for Discourse's default

score_typestring

Exact upstream score type; omit or pass blank for all score types

List Reviewable Topics

read-onlyidempotentopen-world
discourse_list_reviewable_topics

Non-exhaustive topic-level signal only: list pending topics at or above Discourse's minimum review priority. Do not use this tool to work through or rank the full queue because it omits reviewable IDs, actions, low-priority items, and items without topics. Use discourse_list_reviewables for moderation triage.

Get Reviewable

read-onlyidempotentopen-world
discourse_get_reviewable

Refresh one shortlisted reviewable's bounded context, current version, claim state, scores, and exact dynamic actions. Paginated list results already include evidence/actions, so do not fan this tool out across the queue. Optionally includes Discourse's score explanation; never generates a recommendation.

Parameters

reviewable_idintegerrequired
include_explanationboolean

Get User Moderation Summary

read-onlyidempotentopen-world
discourse_get_user_moderation_summary

Get staff-authorized behavioral moderation counters for a user. Omits unrelated administrative capability flags; Discourse permissions remain authoritative.

Parameters

usernamestringrequired

Get Post Revision

read-onlyidempotentopen-world
discourse_get_post_revision

Get a staff/Guardian-authorized post revision with bounded diffs, edit reason, actor, version, and hidden-state evidence.

Body

application/json
post_idintegerrequired
revisionstring | integer
Show child attributes
Any of
string
integer

Perform Reviewable Action

destructiveopen-world
discourse_perform_reviewable_action

Perform one exact dynamic action after a fresh serialized preflight. Choose by the action's full description, not label alone (for example delete-and-agree differs from delete-and-ignore). The displayed action ID may be UI-prefixed; this tool safely routes its server_action. Requires confirm=true and write enablement.

Parameters

reviewable_idintegerrequired

Reviewable ID from list/detail

action_idstringrequired

Exact available_actions[].id from the current reviewable; the MCP maps its server_action to the route

expected_versioninteger>= 0

Version observed during review; fail closed if it has changed

additional_fieldsobject

Only fields advertised by the selected dynamic action contract

confirmbooleanrequired

Explicit acknowledgement that the selected action may delete content, delete users, or block accounts