Built by Metorial, the integration platform for agentic AI.

Learn More

Chandrakant Sahu/slack-mcp

Slack MCP Server

    Server Summary

    • List public channels

    • Post messages

    • Reply to threads

    • Add reactions

    • Get channel history

    • Get thread replies

    • List users

    • Get user profiles

Slack MCP (Model Context Protocol) Server

This is a Slack MCP server implementation that provides various Slack API functionalities through the Model Context Protocol. It allows AI models to interact with Slack through a standardized interface.

Features

  • List public channels
  • Post messages
  • Reply to threads
  • Add reactions
  • Get channel history
  • Get thread replies
  • List users
  • Get user profiles

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • A Slack workspace with admin access
  • A Slack Bot Token
  • Your Slack Team ID

Installation

  1. Clone this repository
  2. Install dependencies:
npm install
# or
yarn install
  1. Build the TypeScript code:
npm run build
# or
yarn build

Configuration

  1. Open index.ts and replace the placeholder values:
public static readonly BOT_TOKEN = "enter-your-bot-token-here";
public static readonly TEAM_ID = "enter-your-team-id-here";

Replace these with your actual Slack Bot Token and Team ID.

Usage

Running the Server

After building the project, you can run the server:

node dist/index.js

Setting up in Cursor

To use this MCP server in Cursor:

  1. Open Cursor settings
  2. Navigate to the "Model Context Protocol" section
  3. Add a new tool with the following configuration:
    • Name: slack
    • Command: node /path/to/your/dist/index.js
    • Working Directory: /path/to/your/project

Replace /path/to/your with the actual path to your project directory.

Available Tools

  1. slack_list_channels

    • Lists public channels in the workspace
    • Optional parameters: limit, cursor
  2. slack_post_message

    • Posts a message to a channel
    • Required parameters: channel_id, text
  3. slack_reply_to_thread

    • Replies to a message thread
    • Required parameters: channel_id, thread_ts, text
  4. slack_add_reaction

    • Adds an emoji reaction to a message
    • Required parameters: channel_id, timestamp, reaction
  5. slack_get_channel_history

    • Gets recent messages from a channel
    • Required parameters: channel_id
    • Optional parameters: limit
  6. slack_get_thread_replies

    • Gets all replies in a thread
    • Required parameters: channel_id, thread_ts
  7. slack_get_users

    • Lists all users in the workspace
    • Optional parameters: limit, cursor
  8. slack_get_user_profile

    • Gets detailed profile information for a user
    • Required parameters: user_id

Development

To modify the server:

  1. Make changes to index.ts
  2. Rebuild the project:
npm run build
# or
yarn build

Security Notes

  • Never commit your actual Slack Bot Token or Team ID to version control
  • Consider using environment variables for production deployments
  • Ensure your Slack Bot has the necessary OAuth scopes for the actions you want to perform

Contributing

Feel free to submit issues and pull requests for improvements.

License

MIT