# discource-mcp-tools

Manage and explore forum communities by searching topics, reading posts, and viewing user profiles. Facilitate communication through chat channels, draft management, and categorized content discovery…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y smithery mcp add king-of-the-grackles/discourse-forum-mcp

# Browse available tools
npx -y smithery tool list king-of-the-grackles/discourse-forum-mcp

# Get full schema for a tool
npx -y smithery tool get king-of-the-grackles/discourse-forum-mcp discourse_select_site

# Call a tool
npx -y smithery tool call king-of-the-grackles/discourse-forum-mcp discourse_select_site '{}'
```

## Direct MCP Connection

Endpoint: `https://discourse-forum-mcp--king-of-the-grackles.run.tools`

**Optional config:**
- `site` (query) — Discourse instance URL (e.g. https://meta.discourse.org)
- `api_key` (query) — Discourse Admin API key for full access
- `api_username` (query) — Discourse API username (e.g. system)
- `user_api_key` (query) — Discourse User API key (alternative to admin API key)
- `user_api_client_id` (query) — Client ID for User API key authentication
- `read_only` (query) — Restrict to read-only operations
- `allow_writes` (query) — Enable write operations like creating posts and topics (true/false)
- `tools_mode` (query) — Tool selection mode: auto, all, read, write, or search
- `max_read_length` (query) — Maximum character length for content reads
- `log_level` (query) — Logging verbosity: debug, info, warn, or error

## Tools (15)

- `discourse_select_site` — Validate and select a Discourse site for subsequent tool calls. Verifies the site is reachable and retrieves its title.…
- `discourse_search` — Search Discourse site content including topics, posts, and users. Use search operators like @username, #tag, category:n…
- `discourse_read_topic` — Read a Discourse topic including its metadata (title, category, tags) and posts. Supports pagination for long topics.
- `discourse_read_post` — Read a specific post by its ID. Returns the post content, author, creation date, and link to the post.
- `discourse_list_categories` — List all categories visible to the current user. Returns category names and topic counts. Useful for discovering where …
- `discourse_list_tags` — List all available tags on the Discourse site (if tagging is enabled). Returns tag names and usage counts. Use tags in …
- `discourse_get_user` — Get information about a Discourse user by username. Returns name, trust level, join date, bio, and profile link.
- `discourse_list_user_posts` — Get a paginated list of posts and replies by a specific user, with the most recent first. Returns 30 posts per page. In…
- `discourse_filter_topics` — Filter topics with a concise query language: use key:value tokens separated by spaces; category/categories for categori…
- `discourse_list_chat_channels` — List all public chat channels visible to the current user. Returns channel information including title, description, an…
- `discourse_list_user_chat_channels` — List all chat channels for the currently authenticated user, including both public channels they're a member of and dir…
- `discourse_get_chat_messages` — Get messages from a chat channel with flexible pagination and date-based filtering. Supports: (1) paginating with direc…
- `discourse_list_drafts` — List all drafts for the current user. Returns draft keys, sequences, and preview content. Use this to find existing dra…
- `discourse_get_draft` — Retrieve a specific draft by its key. Common keys: "new_topic" for new topic drafts, "topic_<id>" for reply drafts.
- `search_discourse_communities` — Discover Discourse forum communities by topic or find similar communities. Use 'query' for semantic text search (e.g., …

```bash
# Get full input/output schema for a tool
npx -y smithery tool get king-of-the-grackles/discourse-forum-mcp <tool-name>
```

## Resources

- `discourse://site-info` — Current Discourse site configuration and connection status

## Prompts (4)

- `discourse-search-help` (topic) — Generate an optimized search query for Discourse using search operators
- `discourse-post-draft` (type, topic) — Help draft a well-structured Discourse post or reply
- `discourse-summarize-topic` (topic_id, focus) — Generate a summary of a Discourse topic discussion
- `discourse-reply-suggestions` (topic_id, tone) — Generate thoughtful reply suggestions for a Discourse topic
