loomiomcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOOMIO_API_KEY | Yes | Your Loomio API key for b2 API authentication. | |
| LOOMIO_B3_API_KEY | No | Optional secret for b3 admin tools. | |
| LOOMIO_MCP_READONLY | No | Set to '1' to enable read-only mode. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_connectionA | Call FIRST when unsure whether the connector works or what it can see: 1 health probe, no input. Returns |
| list_groupsA | The connector user's groups, pending invitations included: 1 call, no input. Subgroup parents are appended with |
| get_groupA | One group by numeric id, short key or URL handle: 1 call; works for public groups the user has not joined. Returns the full record ( |
| get_discussionA | One discussion by numeric id or short key: 1 call (2 with |
| list_discussionsA | One group's discussions, newest activity first: 1 call. |
| create_discussionA | Start a discussion in a group: 1 call. Required |
| update_discussionA | Edit a discussion by |
| delete_discussionA | Discard a discussion by |
| get_pollA | One poll by numeric id or short key: 1 call. Returns |
| list_pollsA | One group's polls, newest first: 1 call. |
| create_pollA | Create a poll: 1 call (2 with |
| update_pollA | Edit an OPEN poll by |
| delete_pollA | Discard a poll by |
| list_threadsA | The cheapest 'what is new across everything I can see': 1 call lists every visible thread, newest activity first ( |
| list_thread_itemsA | One thread as structured items: 1 call by |
| get_thread_markdownA | The best single call for 'summarise / read this thread': 1 call by |
| search_contentA | Keyword search over everything the connector's user can see: 1 call. Pass |
| get_participation_reportA | Rank the members of a group set: 1 call returns Loomio's own report, a row per user sorted by |
| get_user_activityA | One person's participation across groups: 1 call per group + 1. Required |
| list_membershipsA | A group's members: 1 call. Returns |
| manage_membershipsA | Invite users to a group by email and optionally REMOVE members not in the list: 1 call; the connector's user must be an admin of THAT group. Default is additive: new addresses are invited, nobody is touched. DANGEROUS: |
| create_commentA | Post a comment in a thread: 1 call (2 when |
| update_commentA | Edit a comment: 1 call. Required numeric |
| delete_commentA | Discard a comment by numeric |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 24 tools
Most tools target clearly distinct resources and actions, but the thread-reading surface (list_threads, list_discussions, list_polls, list_thread_items, get_thread_markdown, get_discussion, get_poll) has enough overlap that an agent may hesitate. The detailed descriptions largely resolve the ambiguity, but not perfectly.
All tools use consistent snake_case verb_noun naming (create_poll, list_groups, get_discussion, update_poll, delete_comment, etc.) with no mixed conventions or vague verbs.
24 tools is heavy for the domain and falls into the borderline 16-25 range. While each tool covers a real operation, the set could be consolidated, especially around separate list/read tools for threads, discussions, and polls.
CRUD is present for discussions, polls, and comments, but the Loomio decision-making core is incomplete: there is no tool to cast or manage a vote/stance, and group lifecycle operations are missing. Agents cannot fully participate in polls or manage groups end-to-end.