Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Chandrakant0110/slack-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published