Tools · Content and engagement
MCP tools for what happens in the feed: searching, reading, publishing, editing, moving and deleting posts, short posts, commenting and replying, editing and deleting comments, reacting, pinning, the gallery (adding, listing, editing, reacting and deleting), the ranking and your points, and moderation.
The community's day to day: the ranking and the moderation queue, finding a post by its title, publishing an announcement with an image, answering the questions from a live session, reacting to introductions, pinning what matters, moving a post to the right space and looking after the gallery's photos. Posts and comments go out under the name of whoever connected the assistant.
Each tool carries a badge: Read-only changes nothing, Changes creates or changes something right away, and Asks to confirm only acts after your yes to a summary. See Money and confirmation.
In short
| Tool | What it does | Minimum role | Type |
|---|---|---|---|
list_posts | The feed, with comments and reactions | Any | Read-only |
search_content | Finds posts, events, courses, sections, spaces and calls by title | Any | Read-only |
list_comments | A post's comments | Any | Read-only |
create_post | Publishes a post | Any | Changes |
update_post | Edits a post's title, text, cover or pin | Author, or moderator | Changes |
delete_post | Deletes a post, with confirmation | Author, or moderator | Asks to confirm |
move_post | Moves a post to another Content or Feed space | Moderator | Changes |
create_short_post | Publishes a short post, with no title, in a Feed | Member (not finance) | Changes |
create_comment | Comments or replies | Any | Changes |
update_comment | Edits a comment's text | Author, or moderator | Changes |
delete_comment | Deletes a comment, with confirmation | Author, or moderator | Asks to confirm |
add_reaction | Reacts with an emoji | Any | Changes |
pin_post | Pins or unpins in the feed | Moderator | Changes |
add_gallery_image | Adds an image to a Gallery space | Any | Changes |
list_gallery_images | A gallery's images, with author and reactions | Any | Read-only |
update_gallery_image | Changes an image's title or description | Author, or moderator | Changes |
react_to_gallery_image | Reacts to a gallery image | Any | Changes |
delete_gallery_image | Deletes a gallery image | Author, or moderator | Asks to confirm |
get_leaderboard | The top of the ranking | Any | Read-only |
get_my_points | Your points and your position in the ranking | Any | Read-only |
get_ranking_rules | Whether the ranking is on, and the points per action | Admin | Read-only |
update_ranking_rules | Turns it on or off and changes the points | Admin | Changes |
list_moderation_queue | What is waiting for approval | Moderator | Read-only |
moderate_item | Approves or rejects an item in the queue | Moderator | Changes |
list_posts
Read-only
List feed posts. The feed (posts, statuses, events and courses), newest first, with comment and reaction counts. Minimum role: any.
| Parameter | Type | Required | Description |
|---|---|---|---|
space_id | id | No | Only one space (from list_spaces) |
type | all, status, content, events, courses | No | Only one kind of item |
page, limit | number | No | Pagination |
Returns: the items, each with the id and the type that create_comment, add_reaction and pin_post need, the author, the title or text, the counts and whether it's pinned.
Ask like this: "Which posts got the most comments this week?" · "What was posted in the Announcements space?"
search_content
Read-only
Search by title. Searches the titles of posts, events, courses, sections, spaces and calls for papers, ignoring case and accents, in a single search across the whole community. Minimum role: any; each person finds what they can see.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | text, 2 to 200 | Yes | Part of the title. For short posts, it searches the text |
types | list: posts, events, courses, spaces, calls | No | Default: all. spaces includes sections |
limit | number, up to 50 | No | Default 20 |
Returns: the matches, each with its type, id, title and, when there is one, the space, the section, the module, the date and the status.
Notes: people outside the team only find what is published and approved; spaces and sections closed to the person are left out. It's the same search as GET /api/search.
Ask like this: "Find the post How the community works."
list_comments
Read-only
List a post's comments. The comments on a content post or a status. Minimum role: any.
| Parameter | Type | Required | Description |
|---|---|---|---|
type | content, status | Yes | The item type, from list_posts |
post_id | id | Yes | The item id, from list_posts |
Returns: the comments, with the id (which create_comment uses in reply_to), the author, the text and the date.
Ask like this: "Which comments on the welcome post haven't been answered yet?"
create_post
Changes
Publish post. Publishes a text post in a Feed or Content space. Minimum role: any role that can post in that space.
| Parameter | Type | Required | Description |
|---|---|---|---|
space_id | id | Yes | From list_spaces |
title | text | Yes | |
text | Markdown | Yes | The body of the post, in Markdown: bold, italic, lists, links, subheadings, quote and code |
image_url | link | No | The post's cover: a public (http/https) link to a JPEG, PNG, WebP or GIF image of up to 10 MB. See Images |
Returns: the created post, with its id (for pin_post) and the cover. The text comes back in Markdown, with text_format: "markdown".
Ask like this: "Post a welcome in the Feed for everyone who joined this week, mentioning each of them by name."
Notes: the post goes out with the name and photo of whoever connected. The space's Who can post rule applies: in a staff-only space, a member is refused. The post goes out immediately; scheduling isn't possible yet. If the image can't be used, nothing is published and the assistant gets the reason.
update_post
Changes
Edit a post. Changes a post's title, text or cover, and pins or unpins it. Only what is sent changes. Minimum role: the author, or moderator and up.
| Parameter | Type | Required | Description |
|---|---|---|---|
post | id or link | Yes | |
type | content, status | No | Default: content. For a status (a short post), only the text changes |
title | plain text | No | |
text | Markdown | No | In a short post (status), only bold, italic, links and line breaks |
image_url or image_base64 | link or file | No | The new cover. See Images |
remove_image | yes or no | No | Removes the cover |
pinned | yes or no | No | Pins or unpins (moderator and up) |
Ask like this: "In the post How the community works, swap the cover for this image and pin it to the top."
Notes: the post doesn't move to another space.
delete_post
Asks to confirm
Delete a post. Asks for confirmation: the first call shows the post, and only the second deletes it. Minimum role: the author, or moderator and up.
| Parameter | Type | Required | Description |
|---|---|---|---|
post | id or link | Yes | |
type | content, status | No | Default: content |
move_post
Changes
Move post to another space. Takes a post to another Content or Feed space in the community; its place in the feed goes with it. Minimum role: moderator.
| Parameter | Type | Required | Description |
|---|---|---|---|
post | id or link | Yes | |
to_space | id, link, address or name | Yes | A Content or Feed space |
Ask like this: "This job post ended up in Announcements; move it to the Jobs space."
Notes: a space of another module (Courses, Events…) is refused.
create_short_post
Changes
Publish short post. A short post, up to 500 characters and with no title, in a Feed space, like the app's quick field. For a post with a title and a cover, the assistant uses create_post. Role: owner, admin, moderator or a member who can post in the space.
| Parameter | Type | Required | Description |
|---|---|---|---|
space | id, link, address or name | Yes | A Feed space |
text | text, up to 500 | Yes | Takes only bold, italic, links and line breaks, in Markdown |
visibility | public, members, private | No |
Ask like this: "Write in the Feed: 'Live today at 8 p.m., link in the event!'"
create_comment
Changes
Comment or reply. Comments on a feed item, or replies to a comment. Minimum role: any.
| Parameter | Type | Required | Description |
|---|---|---|---|
type | content, status, event, course | Yes | The item type, from list_posts |
item_id | id | Yes | The item id |
text | plain text, up to 2,000 | Yes | No formatting: Markdown marks are stripped |
reply_to | id | No | The id of the comment to reply to (from list_comments). Only on content items |
Returns: the new comment.
Ask like this: "Reply to every unanswered question on yesterday's live post, thanking them and saying we'll cover it next time."
update_comment
Changes
Edit a comment. Changes a comment's text. Minimum role: the author, or moderator and up.
| Parameter | Type | Required | Description |
|---|---|---|---|
type | content, status | Yes | |
post | id or link | Yes | The comment's post |
comment_id | id | Yes | From list_comments |
text | text, up to 2,000 | Yes |
delete_comment
Asks to confirm
Delete a comment. With confirmation. Minimum role: the author, or moderator and up. Same parameters, without text.
add_reaction
Changes
React. Reacts to a feed item. Minimum role: any.
| Parameter | Type | Required | Description |
|---|---|---|---|
type | content, status, event, course | Yes | |
item_id | id | Yes | |
reaction | 👍 ❤️ 🔥 🙌 😊 👏 🎉 | Yes | One of the seven reactions |
Returns: the recorded reaction.
Ask like this: "React with 🎉 to the introductions from people who joined today."
pin_post
Changes
Pin to the feed. Pins an item to the top of the feed, or unpins it. Minimum role: moderator.
| Parameter | Type | Required | Description |
|---|---|---|---|
type | content, status, event, course | Yes | |
item_id | id | Yes | |
pinned | yes or no | No | Default: pin. With false, unpins |
Returns: the item with its new state.
Ask like this: "Pin the community rules post."
add_gallery_image
Changes
Add an image to a gallery. Downloads an image from a link and puts it in a Gallery space. Minimum role: any role that can post in that space.
| Parameter | Type | Required | Description |
|---|---|---|---|
space_id | id | Yes | A Gallery space (list_spaces with module: gallery) |
image_url | link | Yes | A public (http/https) link to a JPEG, PNG, WebP or GIF image of up to 10 MB. See Images |
title | text, up to 255 | No | The image's title in the gallery |
Returns: the image in the gallery, with its address and thumbnail.
Ask like this: "Put this photo from the meetup in the Meetups gallery: https://…/photo.jpg"
list_gallery_images
Read-only
List gallery images. The images of a Gallery space, newest first, with title, author and reactions. Minimum role: any role that can see the space.
| Parameter | Type | Required | Description |
|---|---|---|---|
space | id, link, address or name | Yes | The Gallery space |
page, limit | number | No | limit up to 50 |
Returns: the images, with the id the other gallery tools ask for.
update_gallery_image
Changes
Edit gallery image. Changes an image's title or description. Role: whoever added the image, or moderator and up.
| Parameter | Type | Required | Description |
|---|---|---|---|
image_id | id | Yes | From list_gallery_images |
title | text, up to 255 | No | |
description | text | No |
react_to_gallery_image
Changes
React to gallery image. With 👍 ❤️ 🔥 👏 😊 or 🙌. The same reaction again removes it. Minimum role: any.
| Parameter | Type | Required | Description |
|---|---|---|---|
image_id | id | Yes | From list_gallery_images |
reaction | one of the six emojis | Yes |
delete_gallery_image
Asks to confirm
Delete gallery image. Role: whoever added the image, or moderator and up.
| Parameter | Type | Required | Description |
|---|---|---|---|
image_id | id | Yes | From list_gallery_images |
Returns: on the first call, the image's title and author, and the confirmation code.
get_leaderboard
Read-only
View ranking. The top of the community's points ranking. Minimum role: any.
Parameters: none.
Ask like this: "Who are the top 10 in the ranking?"
get_my_points
Read-only
My ranking points. Your points and your position in the community's ranking. Minimum role: any.
Parameters: none.
Ask like this: "How many points do I have, and where do I stand?"
get_ranking_rules
Read-only
View ranking rules. Whether the ranking is on and how many points each action is worth. Minimum role: admin.
Parameters: none.
Ask like this: "How many points is a comment worth?"
update_ranking_rules
Changes
Change ranking rules. Turns the ranking on or off and changes the points per action. Minimum role: admin.
| Parameter | Type | Required | Description |
|---|---|---|---|
enabled | yes or no | No | |
points | action → points | No | The actions come from get_ranking_rules, e.g. {"comment": 10} |
Ask like this: "Commenting is now worth 10 points."
See Ranking.
list_moderation_queue
Read-only
Moderation queue. What is waiting for approval, or the moderation numbers. Minimum role: moderator.
| Parameter | Type | Required | Description |
|---|---|---|---|
type | summary, posts, courses, events, gallery, status | No | Default: posts. summary returns the numbers |
Ask like this: "Is anything waiting for approval?"
moderate_item
Changes
Approve or reject. Approves or rejects an item in the moderation queue. Minimum role: moderator.
| Parameter | Type | Required | Description |
|---|---|---|---|
type | posts, courses, events, gallery, status | Yes | |
item_id | id | Yes | From list_moderation_queue |
decision | approve, reject | Yes | Approve or reject |
reason | text | No | Required to reject |
Ask like this: "Approve the posts in the queue that have no external link."
See Moderation.