feat: add user group management tools#193
Conversation
|
Bringing new tools into the MCP is one of the most complicated things, because I try to keep them functional on the same level among all three types of tokens: |
|
I've manually tested with xoxc/xoxd and it works just fine. |
|
Additionaly, I want to add, that some of the tools that I propose in this PR are desctructive. |
|
I agree, was about to suggest the same. But please update OAuth JSON spec in docs for completeness anyway. |
Add five new tools for managing Slack user groups (subteams): - usergroups_list: List all user groups in the workspace - usergroups_me: Manage your own membership (list/join/leave) - usergroups_create: Create a new user group - usergroups_update: Update group metadata (name, handle, description) - usergroups_users_update: Replace all members of a group The usergroups_me tool provides a convenient way to join or leave groups without needing to know the full member list. It handles fetching current members and updating the list automatically. Required OAuth scopes: - usergroups:read (for list operations) - usergroups:write (for create/update/join/leave operations) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add usergroups:read and usergroups:write scopes to: - OAuth scope list - App manifest JSON Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
f10088c to
e1d1086
Compare
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
I've tested with xoxb as well and it make it possible for list and even _me works to join and leave for the bot. |
Update available tools list and clarify that usergroups tools are registered by default and require appropriate OAuth scopes. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
Thank you! |
Summary
Add five new tools for managing Slack user groups (subteams):
usergroups_list- List all user groups in the workspace with optional filtersusergroups_me- Manage your own membership: list groups you're in, join, or leaveusergroups_create- Create a new user group with name, handle, and descriptionusergroups_update- Update group metadata (name, handle, description, default channels)usergroups_users_update- Replace all members of a groupKey Features
The
usergroups_metool provides a convenient way to join or leave groups without needing to know the full member list. It handles fetching current members and updating the list automatically - addressing the limitation that Slack's API only supports replacing the entire member list.Required OAuth Scopes
usergroups:read- For list operationsusergroups:write- For create/update/join/leave operationsTool Descriptions
All tools include detailed descriptions optimized for LLM understanding, explaining:
Test Plan
go build ./...go vet ./...