slack-mcp-server

by ubie-oss

110 443 downloads Not rated yet Apache-2.0

About

An MCP (Model Context Protocol) server that provides a standardized interface for AI assistants to interact with the Slack API. It allows reading and writing Slack data through configurable bot and user tokens.

Details

License
Apache-2.0

Explore

Available tools:

- slack_list_channels - List public channels in the workspace with pagination
- slack_post_message - Post a new message to a Slack channel
- slack_reply_to_thread - Reply to a specific message thread in Slack
- slack_add_reaction - Add a reaction emoji to a message
- slack_get_channel_history - Get recent messages from a channel
- slack_get_thread_replies - Get all replies in a message thread
- slack_get_users - Retrieve basic profile information of all users in the workspace
- slack_get_user_profiles - Get multiple users' profile information in bulk (efficient for batch operations)
- slack_search_messages - Search for messages in the workspace with powerful filters:
- Basic query search
- Location filters: in_channel
- User filters: from_user, with
- Date filters: before (YYYY-MM-DD), after (YYYY-MM-DD), on (YYYY-MM-DD), during (e.g., "July", "2023")
- Content filters: has (emoji reactions), is (saved/thread)
- Sorting options by relevance score or timestamp

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name slack-mcp-server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

npm install @ubie-oss/slack-mcp-server

NOTE: Its now hosted in GitHub Registry so you need your PAT.

For Stdio Transport (Claude Desktop, etc.):

{
  "slack": {
    "command": "npx",
    "args": [
      "-y",
      "@ubie-oss/slack-mcp-server"
    ],
    "env": {
      "NPM_CONFIG_//npm.pkg.github.com/:_authToken": "<your-github-pat>",
      "SLACK_BOT_TOKEN": "<your-bot-token>",
      "SLACK_USER_TOKEN": "<your-user-token>",
      "SLACK_SAFE_SEARCH": "true"
    }
  }
}

For Streamable HTTP Transport (Web applications):

Start the server:

SLACK_BOT_TOKEN=<your-bot-token> SLACK_USER_TOKEN=<your-user-token> npx @ubie-oss/slack-mcp-server -port 3000

Connect to: http://localhost:3000/mcp

See examples/README.md for detailed client examples.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "slack-mcp-server": {
            "slack-mcp-server-ubie-oss": {
                "command": "npx",
                "args": [
                    "@ubie-oss/slack-mcp-server"
                ]
            }
        }
    }
}

McpServers

{
    "slack-mcp-server-ubie-oss": {
        "command": "npx",
        "args": [
            "@ubie-oss/slack-mcp-server"
        ]
    }
}

A MCP(Model Context Protocol) server for accessing Slack API. This server allows AI assistants to interact with the Slack API through a standardized interface.

Transport Support

This server supports both traditional and modern MCP transport methods:

- Stdio Transport (default): Process-based communication for local integration
- Streamable HTTP Transport: HTTP-based communication for web applications and remote clients

Features

Available tools:

- slack_list_channels - List public channels in the workspace with pagination
- slack_post_message - Post a new message to a Slack channel
- slack_reply_to_thread - Reply to a specific message thread in Slack
- slack_add_reaction - Add a reaction emoji to a message
- slack_get_channel_history - Get recent messages from a channel
- slack_get_thread_replies - Get all replies in a message thread
- slack_get_users - Retrieve basic profile information of all users in the workspace
- slack_get_user_profiles - Get multiple users' profile information in bulk (efficient for batch operations)
- slack_search_messages - Search for messages in the workspace with powerful filters:
- Basic query search
- Location filters: in_channel
- User filters: from_user, with
- Date filters: before (YYYY-MM-DD), after (YYYY-MM-DD), on (YYYY-MM-DD), during (e.g., "July", "2023")
- Content filters: has (emoji reactions), is (saved/thread)
- Sorting options by relevance score or timestamp

Quick Start

Installation

npm install @ubie-oss/slack-mcp-server

NOTE: Its now hosted in GitHub Registry so you need your PAT.

Configuration

You need to set the following environment variables:

- SLACK_BOT_TOKEN: Slack Bot User OAuth Token
- SLACK_USER_TOKEN: Slack User OAuth Token (required for some features like message search)
- SLACK_SAFE_SEARCH (optional): When set to true, automatically excludes private channels, DMs, and group DMs from search results. This is enforced server-side and cannot be overridden by clients.

You can also create a .env file to set these environment variables:

SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_USER_TOKEN=xoxp-your-user-token
SLACK_SAFE_SEARCH=true  # Optional: Enable safe search mode

Usage

Start the MCP server

Stdio Transport (default):

npx @ubie-oss/slack-mcp-server

Streamable HTTP Transport:

npx @ubie-oss/slack-mcp-server -port 3000

You can also run the installed module with node:
```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.

Videos about slack-mcp-server

Relevant YouTube tutorials, setups, and demos