✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

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:
    {
      "limit": 100,
      "cursor": "optional_cursor"
    }
    

get_user_profile_on_slack

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

Message Tools

send_message_on_slack

  • Description: Post a new message to a Slack channel.
  • Input:
    {
      "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:
    {
      "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:
    {
      "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:
    {
      "limit": 100,
      "cursor": "optional_cursor"
    }
    

get_channel_history_on_slack

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

Reaction Tools

slack_add_reaction

  • Description: Add a reaction emoji to a message.
  • Input:
    {
      "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.

Featured Templates

View More
Verified Icon
AI Assistants
Speech to Text
139 2196
AI Agents
AI Video Generator
258 2301
AI Assistants
Image to text with Claude 3
155 1658
Data Analysis
Pharmacy Admin Panel
254 2272
AI Engineering
Python Bug Fixer
122 1766

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.