slack-mcp

Chandrakant0110/slack-mcp

3.1

If you are the rightful owner of slack-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

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

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