Skip to main content
Glama

Discourse MCP

by SamSaffron

discourse_filter_topics

Filter and sort Discourse forum topics using a structured query language based on categories, tags, status, dates, numeric values, and free text. Results are permission-aware and support pagination.

Instructions

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.

Input Schema

NameRequiredDescriptionDefault
filterYesFilter query, e.g. 'category:support status:open created-after:30 order:activity'
pageNoPage number (1-based)
per_pageNoItems per page (max 50)

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "filter": { "description": "Filter query, e.g. 'category:support status:open created-after:30 order:activity'", "minLength": 1, "type": "string" }, "page": { "description": "Page number (1-based)", "minimum": 1, "type": "integer" }, "per_page": { "description": "Items per page (max 50)", "maximum": 50, "minimum": 1, "type": "integer" } }, "required": [ "filter" ], "type": "object" }

Other Tools from Discourse MCP

Related Tools

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SamSaffron/discourse-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server