Chandrakant0110/slack-mcp
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
- Clone this repository
- Install dependencies:
npm install
# or
yarn install
- Build the TypeScript code:
npm run build
# or
yarn build
Configuration
- 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:
- Open Cursor settings
- Navigate to the "Model Context Protocol" section
- Add a new tool with the following configuration:
- Name:
slack
- Command:
node /path/to/your/dist/index.js
- Working Directory:
/path/to/your/project
- Name:
Replace /path/to/your
with the actual path to your project directory.
Available Tools
-
slack_list_channels
- Lists public channels in the workspace
- Optional parameters: limit, cursor
-
slack_post_message
- Posts a message to a channel
- Required parameters: channel_id, text
-
slack_reply_to_thread
- Replies to a message thread
- Required parameters: channel_id, thread_ts, text
-
slack_add_reaction
- Adds an emoji reaction to a message
- Required parameters: channel_id, timestamp, reaction
-
slack_get_channel_history
- Gets recent messages from a channel
- Required parameters: channel_id
- Optional parameters: limit
-
slack_get_thread_replies
- Gets all replies in a thread
- Required parameters: channel_id, thread_ts
-
slack_get_users
- Lists all users in the workspace
- Optional parameters: limit, cursor
-
slack_get_user_profile
- Gets detailed profile information for a user
- Required parameters: user_id
Development
To modify the server:
- Make changes to
index.ts
- 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