Slack MCP Server
Slack channel management, message posting, and user data retrieval via AI.
Data last scanned yesterday · Reviewed 2 months ago
Overview
Slack MCP Server provides a suite of tools for interacting with Slack workspaces directly through an AI interface. Users can list public channels, retrieve channel history, and access detailed user profiles, making it useful for querying team communications and workspace structures. The server also supports active communication features, allowing AI models to post messages to specific channels, reply to existing threads, and add emoji reactions to messages. It is designed to work with Slack apps configured with the necessary scopes like chat:write and channels:history.
Our verdict
This server is assigned a high-risk security score of 0/100 and should not be used in sensitive environments. The repository is officially archived, meaning it is no longer maintained and will not receive security patches or bug fixes. Furthermore, the lack of an authentication method means that anyone with access to the configuration can execute commands, posing a significant security risk for any workspace.
- Uses only one direct dependency
- Provides documented tools for message and thread management
- Released under the MIT license
- Repository is archived and no longer maintained
- No authentication method implemented
- Last code commit occurred over 400 days ago
Setup
{
"mcpServers": {
"slack": {
"args": [
"-y",
"@modelcontextprotocol/server-slack"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| slack_list_channels | List public or pre-defined channels in the workspace | low |
| slack_post_message | Post a new message to a Slack channel | medium |
| slack_reply_to_thread | Reply to a specific message thread | medium |
| slack_add_reaction | Add an emoji reaction to a message | medium |
| slack_get_channel_history | Get recent messages from a channel | low |
| slack_get_thread_replies | Get all replies in a message thread | low |
| slack_get_users | Get list of workspace users with basic profile information | low |
| slack_get_user_profile | Get detailed profile information for a specific user | low |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What Slack API scopes are required for this server?
You must grant the following Bot Token Scopes: channels:history, channels:read, chat:write, reactions:write, users:read, and users.profile:read.
›Which environment variables are needed to configure the server?
You must provide SLACK_BOT_TOKEN (the xoxb- token) and SLACK_TEAM_ID. Additionally, you may optionally provide SLACK_CHANNEL_IDS to specify authorized channels.
›Does the Slack MCP server support pagination?
Yes, for tools like slack_list_channels and slack_get_users, you can provide an optional cursor input to navigate paginated results.
›What is the format for the reaction emoji input?
The reaction tool expects the name of the emoji without the colons, such as 'thumbsup'.
Alternatives
Badge
Maintain this server? Add the live badge to your README.