Discourse forum management CLI and MCP server
| src/parlor | Add MCP tools for user-by-email, topic invite, and extended admin invite | |
| test | Add MCP tools for user-by-email, topic invite, and extended admin invite | |
| dev-redirects.sgl | Initial parlor CLI and MCP server for Discourse forum management | |
| package.sgl | Remove static?: #t from release config | |
| README.md | Migrate to transitive deps with version ranges and lockfile | |
| sigil.lock | Update lockfile and rebuild for final 0.9.1 tag | |
parlor
A Discourse forum management tool built with Sigil. Works as both a CLI for humans and an MCP server for AI agents.
CLI Usage
parlor topics latest # List latest topics
parlor topics top # List top topics
parlor topics get 42 # Get topic
parlor topics create "Title" "Body" 5 # Create topic in category 5
parlor topics close 42 # Close topic
parlor topics open 42 # Reopen topic
parlor topics pin 42 # Pin topic
parlor topics delete 42 # Delete topic
parlor topics invite 42 "user@example.com" # Invite user to topic
parlor posts get 123 # Get post
parlor posts create 42 "Reply body" # Reply to topic
parlor posts update 123 "Edited body" # Edit post
parlor posts delete 123 # Delete post
parlor messages send "Subject" "Body" "user" # Send message
parlor messages list username # List messages
parlor search "query string" # Search forum
parlor categories list # List categories
parlor categories get 5 # Get category
parlor categories create "Name" "0088CC" # Create category
parlor users get username # Get user
parlor users list # List users
parlor users by-email user@example.com # Find user by email
parlor users create "Name" "e@x.com" "pw" un # Create user
parlor groups list # List groups
parlor groups get group-name # Get group
parlor groups create new-group # Create group
MCP Server
Start with parlor serve. Exposes these tools:
parlor/topics-latest,parlor/topics-top,parlor/topics-by-category,parlor/topics-get,parlor/topics-create,parlor/topics-update,parlor/topics-close,parlor/topics-open,parlor/topics-pin,parlor/topics-delete,parlor/topics-inviteparlor/posts-get,parlor/posts-create,parlor/posts-update,parlor/posts-deleteparlor/messages-send,parlor/messages-list,parlor/messages-replyparlor/searchparlor/categories-list,parlor/categories-get,parlor/categories-createparlor/users-get,parlor/users-list,parlor/users-by-email,parlor/users-create,parlor/users-suspend,parlor/users-unsuspendparlor/groups-list,parlor/groups-get,parlor/groups-create,parlor/groups-add-members,parlor/groups-remove-membersparlor/admin-settings,parlor/admin-update-setting,parlor/admin-invite
Configuration
parlor reads a .env-parlor file from the working directory at startup if present.
Create a .env-parlor in your project root:
DISCOURSE_URL=https://forum.example.com
DISCOURSE_API_KEY=your-api-key-here
DISCOURSE_USERNAME=system
| Variable | Description | Default |
|---|---|---|
DISCOURSE_URL |
Instance base URL (required) | — |
DISCOURSE_API_KEY |
API key (required) | — |
DISCOURSE_USERNAME |
API username (required) | — |
Building
sigil deps install
sigil build
The bundled binary is at build/dev/bin/parlor.
Dependencies
- sigil-discourse — Discourse API client library
License
BSD-3-Clause