Slack MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLACK_BOT_TOKEN | Yes | Slack Bot User OAuth Token | |
| SLACK_USER_TOKEN | Yes | Slack User OAuth Token (required for some features like message search) | |
| NPM_CONFIG_//npm.pkg.github.com/:_authToken | No | Your GitHub Personal Access Token needed to install the package |
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_channelsA | List public channels in the workspace with pagination |
| slack_post_messageB | Post a new message to a Slack channel |
| slack_reply_to_threadB | Reply to a specific message thread in Slack |
| slack_add_reactionA | Add a reaction emoji to a message |
| slack_get_channel_historyA | Get messages from a channel in chronological order. Use this when: 1) You need the latest conversation flow without specific filters, 2) You want ALL messages including bot/automation messages, 3) You need to browse messages sequentially with pagination. Do NOT use if you have specific search criteria (user, keywords, dates) - use slack_search_messages instead. |
| slack_get_thread_repliesB | Get all replies in a message thread |
| slack_get_usersB | Retrieve basic profile information of all users in the workspace |
| slack_get_user_profilesB | Get multiple users profile information in bulk |
| slack_search_messagesA | Search for messages with specific criteria/filters. Use this when: 1) You need to find messages from a specific user, 2) You need messages from a specific date range, 3) You need to search by keywords, 4) You want to filter by channel. This tool is optimized for targeted searches. For general channel browsing without filters, use slack_get_channel_history instead. |
| slack_search_channelsA | Search for channels by partial name match. Use this when you need to find channels containing specific keywords in their names. Returns up to the specified limit of matching channels. |
| slack_search_usersA | Search for users by partial name match across username, display name, and real name. Use this when you need to find users containing specific keywords in their names. Returns up to the specified limit of matching users. |
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 11 tools
Each tool has a clearly distinct purpose. Potential overlaps (e.g., get_channel_history vs search_messages, get_users vs get_user_profiles) are explicitly disambiguated in descriptions, making it easy for an agent to select the right tool.
All tools follow a consistent 'slack_verb_noun' pattern (e.g., slack_add_reaction, slack_search_messages). The naming is predictable and uniform across the entire set.
With 11 tools, the server covers core Slack operations (messaging, search, user/channel info, reactions) without being overly numerous. Each tool serves a necessary function, and the count feels well-scoped.
The tool set covers essential read/write operations for messages, threads, reactions, and user/channel discovery. Minor gaps exist, such as message editing/deletion and channel creation, but these are not critical for most Slack automation use cases.