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

Learn more

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

Featured Templates

View More
Verified Icon
AI Assistants
Speech to Text
137 1881
AI Assistants
Image to text with Claude 3
151 1366
Customer service
Multi-language AI Translator
136 921
Customer service
Service ERP
126 1188
AI Engineering
Python Bug Fixer
119 1433

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.