logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Official-Slack-MCP

Automate interactions in Slack workspaces, including posting messages, replying to threads, adding reactions, and retrieving channel or user information. Enhance workflow efficiency by leveraging Slack API functionalities directly through the Model Context Protocol.

Author

Official-Slack-MCP logo

KaranThink41

MIT License

Quick Info

GitHub GitHub Stars 1
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

slackautomateworkflowslack apislack workspacesslack mcp

Slack MCP Server

A Model Context Protocol (MCP) server implementation for interacting with the Slack API. This server provides tools for Slack workspace automation.

Features

  • Post text messages to Slack channels
  • Reply to threads
  • Add reactions
  • List channels and users
  • Fetch channel history and thread replies

Installation

Local Development

  1. Clone the repository and install dependencies:
npm install
  1. Create a .env file with your Slack credentials:
SLACK_BOT_TOKEN=your_bot_token
SLACK_TEAM_ID=your_team_id
  1. Build the project:
npm run build
  1. Run the server:
node build/index.js

Available Tools

User Tools

get_users_on_slack

  • Description: Get a list of all users in the workspace with their basic profile information.
  • Input: json { "limit": 100, "cursor": "optional_cursor" }

get_user_profile_on_slack

  • Description: Get detailed profile information for a specific user.
  • Input: json { "user_id": "your_user_id" }

Message Tools

send_message_on_slack

  • Description: Post a new message to a Slack channel.
  • Input: json { "channel_id": "your_channel_id", "text": "Hello, world!" }

Thread Tools

reply_to_thread_on_slack

  • Description: Reply to a specific message thread in Slack.
  • Input: json { "channel_id": "your_channel_id", "thread_ts": "your_thread_ts", "text": "This is a reply" }

get_thread_replies_on_slack

  • Description: Get all replies in a message thread.
  • Input: json { "channel_id": "your_channel_id", "thread_ts": "your_thread_ts" }

Channel Tools

channels_list_on_slack

  • Description: List public channels in the workspace with pagination.
  • Input: json { "limit": 100, "cursor": "optional_cursor" }

get_channel_history_on_slack

  • Description: Get recent messages from a channel.
  • Input: json { "channel_id": "your_channel_id", "limit": 10 }

Reaction Tools

slack_add_reaction

  • Description: Add a reaction emoji to a message.
  • Input: json { "channel_id": "your_channel_id", "timestamp": "your_message_ts", "reaction": "your_reaction" }

Usage Example

To call a tool, send a JSON request like this:

{
  "method": "tools/call",
  "params": {
    "name": "send_message_on_slack",
    "arguments": {
      "channel_id": "your_channel_id",
      "text": "Hello from the Slack MCP server!"
    }
  }
}

Environment Variables

Create a .env file with:

SLACK_BOT_TOKEN=your_bot_token
SLACK_TEAM_ID=your_team_id

Running the Server

npm install
npm run build
npx @modelcontextprotocol/slack-server

Or, for direct node execution:

node build/index.js

License

MIT License. See LICENSE for details.

See Also

`