Slack MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLACK_TEAM_ID | No | Optional Slack team ID (e.g., T0123456789). | |
| SLACK_ACCESS_TOKEN | Yes | Slack OAuth user token (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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| slack_list_workspacesA | List all connected Slack workspaces. Shows available workspaces and indicates which one is currently active. |
| slack_switch_workspaceA | Switch to a different Slack workspace. All subsequent Slack operations will use the selected workspace. |
| slack_get_current_workspaceB | Get information about the currently active Slack workspace. |
| slack_list_channelsC | List all Slack channels (public and private) accessible to the user |
| slack_get_channel_infoC | Get detailed information about a specific Slack channel |
| slack_get_channel_membersC | Get the list of members in a Slack channel |
| slack_get_messagesC | Get messages from a Slack channel |
| slack_get_thread_repliesC | Get replies in a message thread |
| slack_send_messageC | Send a message to a Slack channel |
| slack_reply_to_threadC | Reply to a message thread in Slack |
| slack_search_messagesA | Search for messages across all channels (requires user token with search:read scope) |
| slack_list_usersC | List all users in the Slack workspace |
| slack_get_user_infoC | Get detailed information about a specific user |
| slack_get_user_profileB | Get a user's profile information |
| slack_list_filesC | List files shared in the workspace |
| slack_get_file_infoC | Get detailed information about a specific file |
| slack_upload_fileC | Upload a file to a Slack channel |
| slack_add_reactionC | Add an emoji reaction to a message |
| slack_remove_reactionC | Remove an emoji reaction from a message |
| slack_get_reactionsC | Get all reactions on a specific message |
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 20 tools
Every tool has a clearly distinct purpose with no ambiguity, as each targets a specific resource (e.g., channel, user, message, file) and action (e.g., get, list, send, upload). Overlap is minimal, such as slack_get_user_info and slack_get_user_profile, but their descriptions clarify distinct focuses on general info versus profile details.
Tool names follow a highly consistent verb_noun pattern throughout, all using snake_case with a 'slack_' prefix and clear action-resource combinations (e.g., slack_get_channel_info, slack_send_message). There are no deviations in style or convention, making them predictable and readable.
With 20 tools, the count is slightly high but reasonable for a comprehensive Slack integration covering channels, users, messages, files, and workspaces. It feels a bit heavy but not excessive, as each tool serves a specific function without obvious redundancy.
The tool set provides complete CRUD/lifecycle coverage for the Slack domain, including operations for channels (list, get, send), users (list, get info/profile), messages (send, get, search, react, thread), files (upload, list, get), and workspaces (list, switch, get). No significant gaps are apparent, enabling full agent workflows.