mirror of
https://ghfast.top/https://github.com/discourse/discourse-mcp.git
synced 2026-07-15 11:36:36 +08:00
9 KiB
9 KiB
Changelog
0.2.5 (2026-01-29)
Bug Fixes
- Expand
~in--profilepaths before reading file
0.2.4 (2026-01-20)
Features
- Add
discourse_list_userstool to query and filter users (requires admin API key) - Add
discourse_update_usertool to update user profiles with avatar support - Add
discourse_upload_filetool to upload images via base64, URL, or local file - Add
discourse_update_topictool to update existing topics- Update title, category, tags, and featured_link via
PUT /t/-/:topic_id.json - Conflict detection via optional
original_titleandoriginal_tagsparameters
- Update title, category, tags, and featured_link via
- Enhance
discourse_create_userto acceptupload_idfor avatar setting- Note:
activeandapproveddefault totrue(Discourse defaults both tofalse) - This means users created via this tool are immediately usable without manual activation/approval
- Note:
Maintenance
- Add ESLint configuration with typescript-eslint
- New
npm run lintscript - Fix existing lint issues across codebase
- New
- Add HTTP client PUT method and multipart form data support
- Improve TypeScript types: add
ToolRegistrarandResourceRegistrarnarrowed interfaces
Bug Fixes
- Remove unused
with_privateparameter fromdiscourse_searchschema - Return consistent JSON error format for input validation failures
- Validation errors now return
{error: "Validation failed", issues: [{path, message}]} - Previously threw unstructured errors that bypassed the standard error format
- Validation errors now return
- Support
--flag=valuesyntax ingenerate-user-api-keysubcommand- Fixes handling of values that start with
--(e.g., encrypted payloads)
- Fixes handling of values that start with
0.2.3 (2026-01-14)
Bug Fixes
-
Fix tags resource to include tag names alongside id and count
discourse://site/tagsnow returns{id, name, count}instead of just{id, count}- Tag
nameis the string used in filters (e.g.,tag:mcp-test)
-
Fix
discourse_list_user_poststo always includeidfieldidis now always present (may benullfor first posts/topic creation wherepost_number: 1)- Use
topic_id+post_numberto reference posts whenidisnull
-
Fix
discourse_filter_topicsto respectper_pagelimit- Results are now properly sliced to the requested
per_pagevalue has_morecorrectly indicates when more results are available
- Results are now properly sliced to the requested
Documentation
-
Fix tool descriptions to accurately describe return types:
discourse_filter_topics: "Returns JSON array" → "Returns JSON object with results array"discourse_get_chat_messages: "Returns JSON array" → "Returns JSON object with channel_id, messages array, and meta"discourse_get_user: Added missingadmin, moderatorfields to descriptiondiscourse_list_user_posts: Clarified return structure with posts array and meta
-
Update README.md to reflect correct output formats for tags and chat messages
0.2.2 (2026-01-14)
Features
- Add HTTP Basic Auth support for sites behind reverse proxies
- New
http_basic_userandhttp_basic_passfields inauth_pairsconfiguration - Sends
Authorization: Basicheader alongside Discourse API authentication headers
- New
0.2.1 (2026-01-13)
Breaking Changes
- All tool outputs now return strict JSON instead of Markdown
- List tools converted to MCP Resources (URI-addressable endpoints):
discourse_list_categories→discourse://site/categoriesdiscourse_list_tags→discourse://site/tagsdiscourse_list_chat_channels→discourse://chat/channelsdiscourse_list_user_chat_channels→discourse://user/chat-channelsdiscourse_list_drafts→discourse://user/drafts
Features
- Add MCP Resources for static/semi-static data (categories, tags, groups, chat channels, drafts)
- Add
discourse://site/groupsresource with visibility and membership settings - Add lean JSON response format optimized for token efficiency
- Centralize rate limiting and JSON response builders (DRY refactor)
0.1.17 (2026-01-12)
- Publish server to MCP registry
0.1.16 (2025-12-30)
Features
- ability to create post as another user by overriding Api-Username header
Breaking Changes
- remove
author_user_idparam from discourse_create_post tool - remove
author_user_idparam from discourse_create_topic tool
0.1.15 (2025-12-26)
Features
- add support for
emojiandiconparams in discourse_create_category tool - add support for
author_usernameandauthor_user_idparams in discourse_create_post tool - add support for
author_usernameandauthor_user_idparams in discourse_create_topic tool
0.1.14 (2025-12-19)
Features
- change github link in the User Agent string
0.1.13 (2025-12-03)
Features
- add discourse_list_drafts tool to list all drafts for the current user
- add discourse_get_draft tool to retrieve a specific draft by key
- add discourse_save_draft tool to create or update drafts (requires writes enabled)
- add discourse_delete_draft tool to delete drafts (requires writes enabled)
- draft tools support new_topic, topic reply, and private message draft types
- include sequence number tracking for optimistic locking on draft updates
0.1.12 (2025-12-03)
Features
- add discourse_list_chat_channels tool to list all public chat channels with filtering and pagination
- add discourse_list_user_chat_channels tool to list user's chat channels with unread tracking
- add discourse_get_chat_messages tool with flexible pagination and date-based filtering
- support directional pagination (past/future) and querying around specific dates or messages
- include smart pagination hints that guide users on how to navigate message history
0.1.11 (2025-12-02)
Breaking Changes
- update minimum Node.js requirement from 18 to 24
- required due to RSA_PKCS1_PADDING deprecation in generate-user-api-key functionality
- users must upgrade to Node.js 24+ to use the User API Key generator
0.1.10 (2025-11-11)
Bug Fixes
- fix start_post_number parameter in discourse_read_topic - use valid post_number API parameter instead of invalid near parameter
- fixes bug where start_post_number > 20 would return zero posts due to invalid API parameter being ignored by Discourse
0.1.9 (2025-10-20)
Features
- add discourse_list_user_posts tool to fetch user posts and replies
- support pagination with page parameter (30 posts per page)
- include formatted output with topic titles, dates, excerpts, and URLs
0.1.8 (2025-10-20)
Features
- add User API Key support and generator
- implement User-Api-Key and User-Api-Client-Id headers for non-admin authentication
- add generate-user-api-key command with RSA keypair generation and interactive setup
- add enhanced HTTP error logging with detailed diagnostics for troubleshooting
Bug Fixes
- enable logger output to stderr (uncommented process.stderr.write())
- support kebab-case CLI arguments in mergeConfig (--allow-writes, --read-only, etc.)
- ensure CLI flags override profile settings regardless of case style (kebab-case or snake_case)
0.1.7 (2025-10-17)
Features
- add optional HTTP transport support via --transport flag
- implement Streamable HTTP transport (stateless mode) as alternative to stdio
- add --port flag for configuring HTTP server port (default: 3000)
- include health check endpoint at /health for HTTP mode
0.1.6 (2025-10-16)
Bug Fixes
- fix broken 0.1.5 release
0.1.5 (2025-10-16)
Bug Fixes
- correct filter_topics pagination to be 0-based (2f0eb17)