Slack MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SLACK_TOKEN | No | Slack xoxc token from your browser session. Required on Windows/Linux if not using auto-extraction (macOS). | |
| SLACK_COOKIE | No | Slack xoxd cookie from your browser session. Required on Windows/Linux if not using auto-extraction (macOS). |
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 | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| slack_token_statusA | Check token health, age, auto-refresh status, and cache stats |
| slack_health_checkA | Check if Slack tokens are valid and show authentication status |
| slack_refresh_tokensA | Force refresh tokens by extracting from Chrome (requires Slack tab open in Chrome) |
| slack_list_conversationsA | List all DMs and channels with user names resolved. Uses cached DMs by default for speed. |
| slack_conversations_historyB | Get messages from a channel or DM with user names resolved |
| slack_get_full_conversationA | Export FULL conversation history with all messages, threads, and user names. Can save to file. |
| slack_search_messagesB | Search messages across the Slack workspace |
| slack_users_infoB | Get detailed information about a Slack user |
| slack_send_messageA | Send a message to a channel or DM |
| slack_get_threadA | Get all replies in a message thread |
| slack_list_usersB | List all users in the workspace |
| slack_add_reactionA | Add an emoji reaction to a message |
| slack_remove_reactionB | Remove an emoji reaction from a message |
| slack_conversations_markA | Mark a conversation as read up to a specific message timestamp |
| slack_conversations_unreadsA | Get channels and DMs with unread messages, sorted by unread count (highest first) |
| slack_users_searchA | Search workspace users by name, display name, or email. Case-insensitive partial match. |
| slack_workflow_saveA | Save or update a workflow profile that binds a workflow_kind (support_inbox | incident_room | exec_brief | product_launch_watch | custom) to channels, priority people, retention mode, and summary cadence. Stored locally at ~/.slack-mcp-workflows.json. slack_catch_me_up reads the profile by name and returns evidence shaped by its workflow_kind. |
| slack_workflowsA | List all saved workflow profiles from ~/.slack-mcp-workflows.json. Optionally filter by workflow_kind. Returns profile_name, channels, priority_people, retention_mode, summary_cadence, structured_keys, created_at, updated_at. |
| slack_catch_me_upA | Catch up on a saved workflow profile. Reads the profile's channels (or everything currently unread if the profile names none), pulls messages since the cadence window or an explicit |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| search-recent | Search workspace for messages from the past week |
| summarize-channel | Get recent activity from a channel for summarization |
| find-messages-from | Find all messages from a specific user |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Workspace Info | Current workspace name, team, and authenticated user |
| Conversations | List of available channels and DMs |
TDQS
Scored across 19 tools
Every tool has a distinct action and target resource: threads, reactions, unread counts, user search, message sending, token management, workflow profiles, and conversation history all occupy clear boundaries. Even overlapping areas like token_status, health_check, and refresh_tokens address different facets (status vs. refresh). No two tools appear to do the same thing.
All tools follow a consistent `slack_` prefix and snake_case naming. Most use an intuitive verb_noun order (get_thread, add_reaction, send_message), though a few like `slack_conversations_mark` and `slack_conversations_unreads` invert to noun_verb. Overall the pattern is predictable and easy to scan, with only minor deviations.
At 19 tools, the surface is slightly larger than the typical 3–15 sweet spot, but the breadth is justified given the domain spans messaging, reactions, search, user administration, token management, and a custom workflow system. No tools feel redundant, though a few (e.g., `slack_users_info` vs. `slack_users_search`) overlap slightly in purpose. The count is on the high side but still well-scoped.
The toolset covers core lifecycle actions for messages, threads, reactions, and users, plus advanced features like workflow profiles and full conversation exports. Obvious gaps include editing/deleting messages, creating or leaving channels, and pinning content, but these are minor and agents can work around them. The inclusion of token management and workflow automation makes the surface feel complete for its intended use case.