Slack

A Model Context Protocol (MCP) server for Slack integration with comprehensive Block Kit support
  • 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

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational