slack-mpm
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLACK_BOT_TOKEN | Yes | Slack bot user OAuth token (starts with xoxb-) | |
| SLACK_USER_TOKEN | No | Slack user OAuth token (for search and reminders, starts with xoxp-) |
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": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_channelsA | List all channels in the Slack workspace (public and private). |
| get_channel_infoA | Get detailed information about a specific Slack channel. |
| create_channelC | Create a new Slack channel. |
| archive_channelA | Archive a Slack channel. |
| invite_to_channelC | Invite one or more users to a Slack channel. |
| kick_from_channelB | Remove a user from a Slack channel. |
| join_channelC | Join a Slack channel. |
| set_channel_topicB | Set the topic for a Slack channel. |
| send_messageC | Send a message to a Slack channel. |
| send_ephemeralA | Send an ephemeral message visible only to a specific user. |
| update_messageC | Update/edit an existing Slack message. |
| delete_messageB | Delete a Slack message. |
| get_permalinkA | Get a permanent link to a Slack message. |
| search_messagesA | Search for messages across the workspace. Requires a user token (xoxp-) with search:read scope — bot tokens (xoxb-) are not supported by Slack's search API. |
| list_historyC | Fetch message history from a Slack channel. |
| add_reactionA | Add an emoji reaction to a Slack message. |
| remove_reactionB | Remove an emoji reaction from a Slack message. |
| pin_messageB | Pin a message in a Slack channel. |
| unpin_messageB | Unpin a message from a Slack channel. |
| reply_in_threadB | Reply to a message in a Slack thread. |
| get_thread_repliesA | Fetch all replies in a Slack thread. |
| list_usersC | List all users in the Slack workspace. |
| get_user_infoB | Get detailed information about a Slack user. |
| get_user_by_emailA | Look up a Slack user by their email address. |
| open_dmB | Open a direct message channel with one or more Slack users. |
| list_user_channelsA | List all channels a specific Slack user is a member of. |
| upload_fileA | Upload a file to one or more Slack channels. Provide either 'content' (UTF-8 text only) or 'file_path' (disk path for binary or text files), not both. |
| list_filesB | List files in the Slack workspace or a specific channel. |
| get_file_infoB | Get detailed information about a Slack file. |
| delete_fileB | Delete a file from Slack. |
| share_fileA | Share an existing Slack file to additional channels. |
| get_workspace_infoA | Get information about the current Slack workspace. |
| list_emojisA | List all custom emoji in the Slack workspace. |
| get_bot_infoA | Get information about the bot associated with the current token. |
| auth_testB | Validate the Slack token and get workspace/user info. |
| add_reminderB | Create a reminder for the authenticated user. |
| list_remindersA | List all reminders for the authenticated user. |
| complete_reminderB | Mark a reminder as complete. |
| delete_reminderC | Delete a reminder. |
| list_bookmarksA | List all bookmarks in a Slack channel. |
| add_bookmarkB | Add a bookmark to a Slack channel. |
| remove_bookmarkB | Remove a bookmark from a Slack channel. |
| schedule_messageA | Schedule a message to be sent at a future time. |
| list_scheduled_messagesB | List all pending scheduled messages. |
| delete_scheduled_messageA | Cancel/delete a scheduled message before it is sent. |
| create_canvasA | Create a workspace-level canvas with markdown content. Requires canvases:write scope. |
| create_channel_canvasA | Create a canvas attached to a Slack channel. Requires canvases:write scope. |
| edit_canvasA | Edit (replace content of) an existing canvas. Requires canvases:write scope. |
| delete_canvasA | Delete a canvas. Requires canvases:write scope. |
| set_canvas_accessB | Set access rules for a canvas (grant read/write/owner to users or groups). |
| delete_canvas_accessB | Revoke access to a canvas for a user or group. |
| lookup_canvas_sectionsA | Look up sections/blocks in a canvas. Requires canvases:read scope. |
| create_listA | Create a new Slack List in a channel. Requires lists:write scope and a paid Slack plan. |
| update_listB | Update a Slack List's metadata (name, description). Requires lists:write scope. |
| create_list_itemA | Add a new item to a Slack List. Requires lists:write scope. |
| update_list_itemA | Update an existing Slack List item. Requires lists:write scope. |
| delete_list_itemA | Delete a single item from a Slack List. Requires lists:write scope. |
| delete_list_itemsA | Delete multiple items from a Slack List in one call. Requires lists:write scope. |
| list_list_itemsA | Fetch all items in a Slack List (paginated). Requires lists:read scope. |
| get_list_itemA | Get details for a single Slack List item. Requires lists:read scope. |
| set_list_accessB | Set access rules for a Slack List (grant read/write/owner to users or groups). |
| delete_list_accessA | Revoke access to a Slack List for a user or group. |
| markdown_to_canvasA | Validate and prepare markdown content for canvas creation. Accepts a markdown string or a file path, returns the validated content suitable for create_canvas() or create_channel_canvas(). |
| markdown_to_listA | Convert markdown to Slack List items. Parses checklists (- [ ] / - [x]), bullet lists (- item), and tables. Returns a list of dicts with 'value' and optional 'status'. |
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 64 tools
Each tool pairs a distinct resource with a clear action, spanning channels, messages, users, files, reminders, canvases, and lists. Close pairs like list_channels/list_user_channels and create_canvas/create_channel_canvas are clearly differentiated by their descriptions and target nouns.
The vast majority of tools follow a consistent verb_noun snake_case pattern, such as list_channels, create_channel, send_message, and delete_file. Minor deviations like send_ephemeral, open_dm, auth_test, reply_in_thread, markdown_to_canvas, and markdown_to_list slightly break the pattern but remain readable and predictable.
With 64 tools, the server far exceeds the well-scoped 3-15 range and even crosses the 50+ extreme threshold. While Slack has a large API surface, exposing this many endpoints in one MCP server creates a heavy, overwhelming toolset for agents to navigate.
The tool surface covers most major Slack domains: channels, messages, threads, files, users, reminders, bookmarks, scheduled messages, canvases, and lists. Common missing operations like listing pinned messages, getting a single message, leaving a channel, or renaming a channel are notable gaps but can usually be worked around.