AtlatestRepositoryparlor
1# parlor
2
3A Discourse forum management tool built with [Sigil](https://codeberg.org/sigil/sigil). Works as both a CLI for humans and an MCP server for AI agents.
4
5## CLI Usage
6
7```
8parlor topics latest # List latest topics
9parlor topics top # List top topics
10parlor topics get 42 # Get topic
11parlor topics create "Title" "Body" 5 # Create topic in category 5
12parlor topics close 42 # Close topic
13parlor topics open 42 # Reopen topic
14parlor topics pin 42 # Pin topic
15parlor topics delete 42 # Delete topic
16parlor topics invite 42 "[email protected]" # Invite user to topic
17parlor posts get 123 # Get post
18parlor posts create 42 "Reply body" # Reply to topic
19parlor posts update 123 "Edited body" # Edit post
20parlor posts delete 123 # Delete post
21parlor messages send "Subject" "Body" "user" # Send message
22parlor messages list username # List messages
23parlor search "query string" # Search forum
24parlor categories list # List categories
25parlor categories get 5 # Get category
26parlor categories create "Name" "0088CC" # Create category
27parlor users get username # Get user
28parlor users list # List users
29parlor users by-email [email protected] # Find user by email
30parlor users create "Name" "[email protected]" "pw" un # Create user
31parlor groups list # List groups
32parlor groups get group-name # Get group
33parlor groups create new-group # Create group
34```
36## MCP Server
38Start with `parlor serve`. Exposes these tools:
40- `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-invite`
41- `parlor/posts-get`, `parlor/posts-create`, `parlor/posts-update`, `parlor/posts-delete`
42- `parlor/messages-send`, `parlor/messages-list`, `parlor/messages-reply`
43- `parlor/search`
44- `parlor/categories-list`, `parlor/categories-get`, `parlor/categories-create`
45- `parlor/users-get`, `parlor/users-list`, `parlor/users-by-email`, `parlor/users-create`, `parlor/users-suspend`, `parlor/users-unsuspend`
46- `parlor/groups-list`, `parlor/groups-get`, `parlor/groups-create`, `parlor/groups-add-members`, `parlor/groups-remove-members`
47- `parlor/admin-settings`, `parlor/admin-update-setting`, `parlor/admin-invite`
49## Configuration
51parlor reads a `.env-parlor` file from the working directory at startup if present.
53Create a `.env-parlor` in your project root:
55```
56DISCOURSE_URL=https://forum.example.com
57DISCOURSE_API_KEY=your-api-key-here
58DISCOURSE_USERNAME=system
59```
61| Variable | Description | Default |
62|----------|-------------|---------|
63| `DISCOURSE_URL` | Instance base URL (required) | — |
64| `DISCOURSE_API_KEY` | API key (required) | — |
65| `DISCOURSE_USERNAME` | API username (required) | — |
67## Building
69```bash
70sigil deps install
71sigil build
72```
74The bundled binary is at `build/dev/bin/parlor`.
76## Dependencies
78- [sigil-discourse](https://codeberg.org/sigil/sigil-discourse) — Discourse API client library
80## License
82BSD-3-Clause