- Home
- MCP servers
- Slack
Slack
- python
3
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"piekstra-slack-mcp-server": {
"command": "python",
"args": [
"-m",
"slack_mcp"
],
"env": {
"SLACK_API_TOKEN": "YOUR_SLACK_BOT_TOKEN",
"SLACK_WORKSPACE_ID": "YOUR_WORKSPACE_ID"
}
}
}
}This Slack MCP Server lets you interact with Slack workspaces through the Slack Web API, exposing a set of tools to manage channels, users, messages, files, and workspace details from an MCP client.
How to use
Connect an MCP client to the Slack MCP Server to access a wide range of Slack actions. You can list channels, get channel or user details, create or archive channels, send and manage messages, upload files, react to messages, and retrieve workspace information. Use the client’s tool interface to call individual actions, passing the relevant parameters your workflow requires. You can also run formatted block kit messages, rich lists, and status notifications to keep teams informed.
Typical usage patterns include listing channels to pick a target, sending messages to a channel, uploading a file to multiple channels, or querying message history for compliance or audit purposes. For workspace monitoring, you can fetch team info and view user data. If you need to search messages, be aware that search relies on user tokens with the search:read scope, and bot tokens may not support search functionality.
How to install
Prerequisites: you need Python installed on your system.
Install the Slack MCP Server package globally for use with Claude Desktop or Claude CLI.
pip install slack-mcp-server
If you prefer to install from source, clone the repository, install in editable mode, and set up credentials.
git clone <repository-url>
cd slack-mcp-server
pip install -e .
Set up credentials securely using the interactive setup wizard, or configure credentials manually if you prefer environment variables.
slack-mcp-setup
# or
python -m slack_mcp.setup
Configuration and usage notes
Secure credential storage is recommended. The server supports macOS Keychain storage for credentials and tokens. Environment variables are available as a fallback option, but they are less secure.
To run with keychain storage, you typically rely on the interactive setup. If you choose environment variables, create a .env file with keys such as SLACK_API_TOKEN and optional SLACK_WORKSPACE_ID.
In addition to runtime configuration, you can use client tooling to enumerate and invoke available tools, such as listing channels, sending messages, or uploading files.
Using with Claude CLI (example workflow)
Add the server to Claude using the CLI by pointing to the local MCP executable path.
claude mcp add slack /path/to/slack-mcp-server
This integration configures the server within Claude Desktop so you can access the Slack MCP tools from your Claude workspace.
Using with Claude Desktop (manual configurations)
If you run the server locally with keychain storage, configure it like this in Claude Desktop:
{
"mcpServers": {
"slack": {
"command": "python",
"args": ["-m", "slack_mcp"]
}
}
}
If you prefer to supply environment variables, you can configure Claude Desktop as follows, including the API token in the environment section.
{
"mcpServers": {
"slack": {
"command": "python",
"args": ["-m", "slack_mcp"],
"env": {
"SLACK_API_TOKEN": "xoxb-your-slack-bot-token"
}
}
}
}
Usage with MCP Client
From your MCP client, connect to the Slack MCP server by specifying the stdio runtime and the command you use to start it (for example, python -m slack_mcp). Then you can list available tools and call the specific tools you need, such as listing channels or sending messages.
Examples
The server exposes a range of tools for Slack operations, including channel management, user management, messaging, rich formatting, file handling, reactions, and workspace information.
Security considerations
Keychain storage is recommended for credentials on macOS. Never commit tokens to version control. Grant only the minimum required OAuth scopes. Be mindful of Slack rate limits and sensitive information in messages and files.
Available tools
list_channels
List all channels in the workspace
get_channel_info
Get detailed information about a specific channel
create_channel
Create a new channel
archive_channel
Archive a channel
unarchive_channel
Unarchive a channel
set_channel_topic
Set channel topic
set_channel_purpose
Set channel purpose
list_users
List all users in the workspace
get_user_info
Get detailed information about a specific user
invite_to_channel
Invite users to a channel
send_message
Send a message to a channel (supports Block Kit)
update_message
Update an existing message (supports Block Kit)
delete_message
Delete a message
get_channel_history
Get message history for a channel
search_messages
Search for messages across the workspace (note: requires search scope)
send_formatted_message
Send formatted messages with headers, sections, and fields
send_notification_message
Send status notifications with emoji indicators
send_list_message
Send formatted lists with titles and descriptions
upload_file
Upload a file to one or more channels
add_reaction
Add a reaction to a message
remove_reaction
Remove a reaction from a message
get_team_info
Get information about the Slack workspace/team