slack-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLACK_XOXC_TOKEN | No | Browser session token for undocumented endpoints | |
| SLACK_XOXD_TOKEN | No | Browser session cookie (paired with xoxc) | |
| SLACK_XOXP_TOKEN | Yes | User OAuth token from your Slack app |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cache_clearA | Clear the Slack MCP cache so subsequent calls fetch fresh data from the API. |
| api_testC | Check API calling code. Helps test your calling code. |
| apps_activities_listB | Get logs for a specified workflow app. |
| apps_connections_openA | Generate a temporary Socket Mode WebSocket URL. |
| apps_event_authorizations_listA | Get a list of authorizations for the given event context. |
| apps_manifest_createB | Create an app from an app manifest. |
| apps_manifest_deleteA | Permanently deletes an app created through app manifests. |
| apps_manifest_exportB | Export an app manifest from an existing app. |
| apps_manifest_updateA | Update an app from an app manifest. |
| apps_manifest_validateB | Validate an app manifest. |
| apps_uninstallB | Uninstall your app from a workspace. |
| assistant_search_contextA | Search messages, files, channels, and users to provide context to an AI assistant. |
| assistant_search_infoB | Get search capabilities for the team. Returns whether AI/semantic search is available ( |
| assistant_threads_set_statusA | Set the status for an AI assistant thread. |
| assistant_threads_set_suggested_promptsC | Set suggested prompts for an AI assistant thread. |
| assistant_threads_set_titleB | Set the title for an AI assistant thread. |
| auth_revokeC | Revoke a token. |
| auth_teams_listB | List the workspaces a token can access. |
| auth_testA | Check authentication and get identity. |
| blocks_validateC | Validate an array of Block Kit blocks. |
| bookmarks_addC | Add a bookmark to a channel. |
| bookmarks_editB | Edit a bookmark in a channel. |
| bookmarks_listC | List bookmarks for a channel. |
| bookmarks_removeB | Remove a bookmark from a channel. |
| bots_infoB | Get info for a bot user. |
| calls_addC | Register a new call. |
| calls_endC | End a call. |
| calls_infoB | Get information about a call. |
| calls_participants_addC | Register new participants added to a call. |
| calls_participants_removeC | Register participants removed from a call. |
| calls_updateC | Update information about a call. |
| canvases_access_deleteC | Remove access to a canvas for specified entities. |
| canvases_access_setC | Set access level to a canvas for specified entities. |
| canvases_createC | Create a canvas. |
| canvases_deleteB | Delete a canvas. |
| canvases_editC | Edit a canvas. |
| canvases_sections_lookupB | Find sections matching criteria in a canvas. |
| chat_append_streamB | Append text to an AI assistant streaming message. |
| chat_deleteB | Delete a message. |
| chat_delete_scheduled_messageC | Delete a pending scheduled message from the queue. |
| chat_get_permalinkB | Retrieve a permalink URL for a specific message. |
| chat_me_messageB | Send a /me message to a channel. |
| chat_post_ephemeralA | Send an ephemeral message to a user in a channel. |
| chat_post_messageC | Send a message to a channel. |
| chat_schedule_messageC | Schedule a message to be sent to a channel. |
| chat_scheduled_messages_listA | List scheduled messages. |
| chat_start_streamC | Start an AI assistant streaming message. |
| chat_stop_streamC | Stop an AI assistant streaming message. |
| chat_unfurlC | Provide custom unfurl behavior for URLs in messages. |
| chat_updateC | Update a message. |
| conversations_accept_shared_inviteC | Accept an invitation to a Slack Connect channel. |
| conversations_approve_shared_inviteC | Approve an invitation to a Slack Connect channel. |
| conversations_archiveC | Archive a conversation. |
| conversations_canvases_createC | Create a canvas in a channel. |
| conversations_closeB | Close a direct message or multi-party direct message. |
| conversations_createC | Create a new channel. |
| conversations_decline_shared_inviteB | Decline an invitation to a Slack Connect channel. |
| conversations_external_invite_permissions_setC | Set external invite permissions for a Slack Connect channel. |
| conversations_historyC | Fetch a conversation's history. |
| conversations_infoC | Retrieve information about a conversation. |
| conversations_inviteB | Invite users to a channel. |
| conversations_invite_sharedC | Send a shared channel invite. |
| conversations_joinC | Join an existing conversation. |
| conversations_kickC | Remove a user from a conversation. |
| conversations_leaveB | Leave a conversation. |
| conversations_listC | List all channels. |
| conversations_list_connect_invitesC | List shared channel invites. |
| conversations_markB | Set the read cursor in a channel. |
| conversations_membersC | Retrieve members of a conversation. |
| conversations_openA | Open or resume a direct message or multi-party DM. |
| conversations_renameC | Rename a conversation. |
| conversations_repliesC | Retrieve a thread of messages. |
| conversations_request_shared_invite_approveC | Approve a shared channel invite request. |
| conversations_request_shared_invite_denyB | Deny a shared channel invite request. |
| conversations_request_shared_invite_listB | List shared channel invite requests. |
| conversations_set_purposeB | Set the purpose for a conversation. |
| conversations_set_topicC | Set the topic for a conversation. |
| conversations_unarchiveA | Reverse a conversation archive. |
| dialog_openC | Open a dialog with a user. |
| dnd_end_dndA | End the current user's Do Not Disturb session. |
| dnd_end_snoozeB | End the current user's snooze mode. |
| dnd_infoA | Retrieve a user's current Do Not Disturb status. |
| dnd_set_snoozeB | Turn on Do Not Disturb mode for the current user. |
| dnd_team_infoC | Retrieve the Do Not Disturb status for users on a team. |
| emoji_listB | List custom emoji for a team. |
| entity_present_detailsC | Present details about an entity in a flexpane. |
| files_comments_deleteC | Delete an existing comment on a file. |
| files_complete_upload_externalC | Complete an upload external process. |
| files_deleteC | Delete a file. |
| files_get_upload_url_externalC | Get an upload URL for an external file. |
| files_infoB | Get information about a file. Set detailed=True for full response. |
| files_listB | List files for a team, channel, or user. Set detailed=True for full response. |
| files_remote_addB | Add a remote file. |
| files_remote_infoC | Get information about a remote file. |
| files_remote_listC | List remote files. |
| files_remote_removeC | Remove a remote file. |
| files_remote_shareB | Share a remote file into a channel. |
| files_remote_updateC | Update a remote file. |
| files_revoke_public_urlB | Revoke public/external sharing access for a file. |
| files_shared_public_urlB | Enable a file for public/external sharing. |
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 224 tools
Many tools have overlapping purposes, especially the legacy/undocumented endpoints that duplicate official ones (e.g., multiple search tools, multiple file upload variants). The sheer number of tools makes it difficult for an agent to select the correct one.
Tool names follow a consistent snake_case verb_noun pattern (e.g., conversations_list, files_upload). Minor deviations exist, such as 'slack_lists_*' prefix and 'v2' suffixes, but overall the naming is predictable.
224 tools is excessively high for a single MCP server. While Slack has a large API, many tools are undocumented session endpoints or legacy methods, leading to bloat. The set would benefit from trimming to essential, well-documented tools.
The server covers a wide range of Slack functionalities (channels, messages, files, users, search, workflows, apps). Minor gaps exist (e.g., no enterprise grid or modern admin user management), but overall it is very comprehensive.