Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
discourse_select_siteA

Validate and select a Discourse site for subsequent tool calls. Verifies the site is reachable and retrieves its title. Must be called before using other tools when multiple sites are configured.

discourse_searchA

Search Discourse site content including topics, posts, and users. Use search operators like @username, #tag, category:name for filtered results.

discourse_read_topicA

Read a Discourse topic including its metadata (title, category, tags) and posts. Supports pagination for long topics.

discourse_read_postA

Read a specific post by its ID. Returns the post content, author, creation date, and link to the post.

discourse_list_categoriesA

List all categories visible to the current user. Returns category names and topic counts. Useful for discovering where to post or search.

discourse_list_tagsA

List all available tags on the Discourse site (if tagging is enabled). Returns tag names and usage counts. Use tags in search queries with #tagname.

discourse_get_userA

Get information about a Discourse user by username. Returns name, trust level, join date, bio, and profile link.

discourse_list_user_postsA

Get a paginated list of posts and replies by a specific user, with the most recent first. Returns 30 posts per page. Includes topic title, post date, excerpt, and direct links.

discourse_filter_topicsA

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.

discourse_list_chat_channelsA

List all public chat channels visible to the current user. Returns channel information including title, description, and member counts. Supports filtering and pagination.

discourse_list_user_chat_channelsA

List all chat channels for the currently authenticated user, including both public channels they're a member of and direct message channels. Includes unread tracking information.

discourse_get_chat_messagesA

Get messages from a chat channel with flexible pagination and date-based filtering. Supports: (1) paginating with direction='past'/'future' from a target_message_id, (2) querying messages around a specific target_date, (3) getting messages around a target_message_id, or (4) fetching from last read position.

discourse_list_draftsA

List all drafts for the current user. Returns draft keys, sequences, and preview content. Use this to find existing drafts before updating them.

discourse_get_draftA

Retrieve a specific draft by its key. Common keys: "new_topic" for new topic drafts, "topic_" for reply drafts.

search_discourse_communitiesA

Discover Discourse forum communities by topic or find similar communities. Use 'query' for semantic text search (e.g., 'note taking productivity') or 'similar_to' to find communities similar to a known one by URL or ID. Provide exactly one of 'query' or 'similar_to'. Returns communities with confidence scores and engagement metrics.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 15 tools

Disambiguation4/5

Most tools have distinct purposes targeting specific resources like topics, posts, users, chats, or drafts, with clear boundaries. However, discourse_filter_topics and discourse_search have some functional overlap in querying content, which could cause minor confusion for agents about which to use for topic filtering versus general search.

Naming Consistency5/5

Tool names follow a highly consistent snake_case pattern with a 'discourse_' prefix for most tools, using clear verb_noun combinations (e.g., discourse_list_categories, discourse_get_user). The single exception, search_discourse_communities, still maintains readability and a similar structure, not detracting from overall consistency.

Tool Count5/5

With 15 tools, the server is well-scoped for a Discourse forum management system, covering key areas like content browsing, user management, chat, drafts, and site selection. Each tool serves a specific, non-redundant function, making the count appropriate for the domain without being overwhelming.

Completeness4/5

The toolset provides comprehensive coverage for reading, searching, and listing operations across topics, posts, users, chats, and drafts, with good support for filtering and pagination. A minor gap exists in write operations (e.g., creating or updating content like posts or topics), which agents might need to work around, but core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessNo issues