discourse-mcp-extended
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| discourse_select_siteB | Validate and select a Discourse site. Returns JSON with site URL and title. |
| discourse_searchB | Search site content. Returns JSON object with results array of matching topics (id, slug, title) and meta (total, has_more). |
| discourse_filter_topicsA | Filter topics with a concise query language. Returns JSON object with results array (id, slug, title) and meta (page, limit, has_more). Query syntax: category/categories (comma=OR, '=category'=without subcats, '-'=exclude), tag/tags (comma=OR, '+'=AND), status:(open|closed|archived|listed|unlisted|public), in:(bookmarked|watching|tracking|muted|pinned), dates: created/activity-(before|after) YYYY-MM-DD or N days, order: activity|created|latest-post|likes|views with optional -asc. |
| discourse_read_topicB | Read topic metadata and posts. Returns JSON with id, title, slug, category_id, tags, and posts array. |
| discourse_read_postB | Read a specific post. Returns JSON with id, topic_id, post_number, username, created_at, and raw content. |
| discourse_get_userB | Get user info. Returns JSON with id, username, name, trust_level, created_at, bio, admin, and moderator. |
| discourse_list_user_postsB | Get 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_usersA | List 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_messagesA | Get 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_draftA | Retrieve a specific draft by key. Returns JSON with draft_key, sequence, and parsed data (title, reply, categoryId, tags, action). |
| discourse_list_reviewablesB | List items in the review queue (as seen at /review), e.g. queued/pending posts and flagged posts. Returns JSON with reviewables array (id, type, status, score, created_at, topic_id, category_id, post_id, created_by, target_created_by, title, excerpt, version, actions) and meta (page, limit, has_more, total). The |
| discourse_get_queryA | Get full details of a Data Explorer query including SQL and parameters. Requires admin API key. |
| discourse_run_queryA | Execute 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| sql_query | Guided workflow for database queries: discover schema, write SQL, run queries via Data Explorer |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| site_categories | List all categories with hierarchy (pid), permissions (perms), and counts. Use for migration workflows. |
| site_tags | List all tags with usage counts. Returns empty if tags are disabled. |
| site_groups | List all groups with visibility, interaction levels, and access settings. Levels: 0=public, 1=logged_on_users, 2=members, 3=staff, 4=owners. |
| chat_channels | List all public chat channels with id, title, slug, status, members_count, and description. |
| user_chat_channels | List user's chat channels (public + DMs) with unread/mention counts. Requires authentication. |
| user_drafts | List user's drafts with draft_key, sequence, title, category_id, created_at, and reply_preview. Requires authentication. |
| explorer_schema | Database schema (core tables). Format: col, col:int, col:ts, col*, col>fk_table. No type = text. Use explorer_schema_tables for all/specific tables. |
| explorer_queries | Saved Data Explorer queries (30/page, by last used). Shows id, name, description. Use explorer_queries_page for other pages. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/devzspy/discourse-mcp-extended'
If you have feedback or need assistance with the MCP directory API, please join our Discord server